C#中的正则表达式(基本语法元字符)

基本语法元字符

字符  说明
.   匹配除换行符以外的任意字符
\w  匹配字母、数字、下划线、汉字  (指大小写字母、0-9的数字、下划线_)
\W  \w的补集  ( 除“大小写字母、0-9的数字、下划线_”之外)
\s  匹配任意空白符  (包括换行符/n、回车符/r、制表符/t、垂直制表符/v、换页符/f)
\S  \s的补集  (除\s定义的字符之外)
\d  匹配数字  (0-9数字)
\D  表示\d的补集  (除0-9数字之外)

在正则表达式中,\是转义字符. * 是元字符 如果要表示一个\ . *字符的话,需要使用\\ \. \*

例子:

//@表示\不被理解为转义字符
//^代表定位开头
//\d代表是0-9的数字
//*代表0个或者多个字符
//$代表定位结尾
//因此以下正则表达式代表仅仅由数字组成的字符串
string s = "12345";
string pattern = @"^\d*$"; //正则表达式
bool isMatch = Regex.IsMatch(s, pattern);
//isMatch为true

string pattern = @"a*"  //表示a有0个或者多个,即由a组成的字符串都是符合规则的


//但是,如果将定位符去掉的话
string s = "12345abc";
string pattern = @"\d*";
bool isMatch = Regex.IsMatch(s, pattern);
//isMatch还为true
//这是因为IsMatch的作用是看字符串s中如果有一个满足pattern条件的,就直接返回true。
//也就是说,如果s中如果有数字,就满足返回true的条件了。
//即时s = "asdf",对于IsMatch也是符合规则的,因为*表示有0个或者多个,因此还是返回true。

你可能感兴趣的:(C#,Self-Culture)