正则表达式
一、概念
正则表达式是用来表示字符串特征的表达式。它说明了字符串中那些字符是必须有的,哪些是可能出现的,哪些是不能出现的。
二、元字符
1) . 表示一个字符。如:a.b,表示ab之间有一个除了\n外的单个字符。
2)[] 表示 字符的筛选。括号中的字符任选一个。
3)[^] 除了括号中的字符,任选一个。
4)| 或者。有限级别很低
5)()表示改变优先级或者提取组
6)* 限定符。表示前一个字符(组)出现0次或者多次。
7)+ 表示前一个字符(组)至少出现一次
8)?表示前一个字符(组)出现0次或者一次。
9){n} 表示前一个字符(组)必须出现n次
10){n,} 至少出现n次
11){n,m} 至少出现n次,最多出现m次
三、正则表达式基本方法
Regex.Match();//在指定的字符串中搜索第一个匹配的字符串
Regex.IsMatch();//在指定的字符串中是否找到了匹配项
Regex.Matches();//在指定的字符串中搜索所有匹配的字符串
Regex.Replace();//在指定的字符串内搜索匹配的字符串,并且替换
Regex.Split();//
Regex.Escape()//提示正则引擎按照原意的字符来解释,而不是安装正则表达式的元字符来解释。
练习:
1.string reg="[1][0-9]"; 表示只要字符串中连续出现一个10-20之间(包括10,不包括20)的字符串就可以。 如:sdfsd12dfs也符合要求。
2.string reg="^[1][0-9]$"表示以1开头,0-9之间的数字结尾的数。
3.string reg="^[1]|[0-9]$",表示以1开头,或者以0-9之间的某个数结尾的字符串。1001,0001都匹配(进一步说明 | 的优先级别很低)
4.string reg="^([1][0-9])$"
5.string reg="^([1][0-9])324$"
6.身份证的正则表达式。
方式一、 "^([0-9]{15}|[0-9]{17}[0-9Xx])$";
方式二、 "^([0-9]{15}([0-9]{2}[0-9Xx])?)$";