正则表达式又称规则表达式,正则表通常用来检查、检索、替换那些符合某个模式(规则)的文本
命名空间: using System.Text.RegularExpressions;
System.Text.RegularExpressions.Regex 类
静态方法:
Regex .IsMatch(检测的字符,正则表达式) // “匹配” (是否符合正则表达式),返回值为bool类型
MatchCollection Array=Regex.Matches(检测的字符,正则表达式) //匹配,然后返回符合标准的字符为数组
Regex .Replace(原字符串,正则表达式,替换的字符) //"替换"
Regex .Split(原字符串,正则表达式) "拆分"
一般在正则表达式前,常应用@,表示不解析转义。 例如转义字符“ \r\n、
基础语法元字符
1) ^ ”定位‘元字符,表示开头
2)$ “定位“元字符,表示结尾
3). 表示任意字符(换行符除外)
4)\w 表示字母、数字、下划线、汉字
5)\W 表示’\w‘的补集
6)\s 表示任意空白符(包括\n换行 \r回车 \t制表 \v垂直制表符 \f换页符)
7)\S 表示’\s’的补集
8)\d表示数字
9)\D表示非数字
“包含“与”非“元字符
[abc] 表示匹配括号中的字符
[a-c] 表示a字符到c字符之间的字符
[^X] 表示匹配除了X以外的字符
[^abcd] 表示匹配除了abcd以外的任意字符
重复描述字符
1){n} 匹配前面的字符n次
2){n,} 匹配前面的字符n次或多余n次
3){n,m} 匹配前面字符n到m次
4) ? 匹配零次或者一次
5)+ 匹配一次或者更多次
6)* 重复零到多个元字符,或表示重复零次或者更多次(即:重复前面的次数)
”或运算“与小括号
1)| 将两个匹配条件进行逻辑”或“运算
2)() 用小括号来指定子表达式(也就是分组)
常用的正则表达式
校验E-Mail地址
@"[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])? "
校验身份证号码
@"^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$"
校验金额
金额校验,精确到2位小数
@"^[0-9]+(.[0-9]{2})?$"
校验日期
"yyyy-mm-dd"格式的日期校验,已考虑闰年 (其他格式百度一搜就能搜到)
@"^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$"
校验手机号
国内13、15、18开头的手机号正则表达式
@"^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$"