C#正则表达式
1、
.匹配出换行符以外的任意字符
\w匹配字母或数字或下划线
\s匹配任意的空格
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束
注意:\W,\S,\D,\B和以上小写的含义相反,\W匹配不是字母数字下划线……
[^x]匹配除了x以为的任意字符
[^abcd]匹配除了abcd这几个字母以外的任意字符
*重复零次或多次
+重复一次或多次
?重复一次或零次
{n}重复n次
{n,}重复n次或者更多次
{n,m}重复n到m次
[abcde]匹配abcde中的任一个字符
[0-9]和\d一样
[0-9a-zA-Z_]和\w一样
|表示分支条件,和C#中的"或"一致
零宽断言
1.?=
@"\b\w+(?=es\b)"  匹配以es结尾的单词
2.?<=
@"(?<=a\s.*>).*(?=<\/a)"  匹配以<a >开头以</a>结尾的标签
负向零宽断言
3.?!   匹配以非表达式的单词
@"\b\w*th(?!a)\w*\b"  匹配th开头但第三个字母不是a的单词

 匹配以t开头s结尾的部分
@"\bt.*s\b"    模糊匹配,从开头到结尾
@"\bt.*?s\b"   精确匹配,和一个离开时最近的结尾字符匹配
2、常用的正则表达式验证
1)电子邮箱 @"^\w+([.]\w+)*@\w+([.]\w+)*\.\w+([.]\w+)*$"
2)钱金额 @"^(([1-9]\d{0,})|([0]))([.]\d{1,2})?$"
3)Internet网址 @"^http://([\w-]+\.)+[\w-]+([/\w-./?%&=])*?$"
4)固定电话 @"(^(\d{4}-)?\d{7,8}$)|(^(\d{3}-)?\d{8}$)"
5)手机号码 @"^[1][358]\d{9}$"
6)×××号码 @"^([^0](\d{17}|\d{14})|[1-9]{17}X)$"
7)IP地址 @"^((([01]?\d?\d)|([2](([0-4]\d)|([5][0-5]))))[.]){3}(([01]?\d?\d)|([2](([0-4]\d)|([5][0-5]))))$"
3、C#中两个常用的正则表达式类的用法
Regex和Match
1)、string str = Console.ReadLine();
if (Regex.IsMatch(str, @"^\w*$"))
{
    Console.Write("true");
}
else
{
    Console.Write("false");
}
2)、string str = Console.ReadLine();
Regex reg=new Regex(@"^\d+$");
Match match = reg.Match("");
if (match.Value != str)
{
    Console.WriteLine(match.Value + " " + match.Index);
}