当前位置:首页 > C#教程 > C#高级

c#正则表达式

需求:从一个文件中,提取所有的邮件地址。正则表达式是用来进行文本(字符串)处理的技术,与语言无关。主要用来描述字符串特征。

特征:字符串中必须出现的内容,可能出现的内容,不能出现的内容三大特征。

观察字符串规律,根据规律总结特征,然后根据特定字符串的特征来编写正则表达式。

元字符

1、"."   :表示 除n(换行)之外的任意的单个字符。

2、"[]" :表示 其中的字符。只能选一个。

例:a[0123456789]b  表示ab之间只能出现0-9之中一个数字。 a[0-9a-z]b :a和b之间只能有1个字符。该字符只能在[0-9a-z]中选择。

a[^0-9a-z]b  除了[0-9a-z]以外的任意一个字符

3、“|” :表示 或的意思

例:z|food 由于|的优先级非常低,所以这个表达式代表 z或food。(z|f)ood。

4、“()” :改变运算优先级;提取组。二个作用

5、“*” :限定符。表示前面的表达式出现0次或多次。 a.*b  (adafsfdsafsdafb正确)表示(ab,a.b,a...b,a.......b等).出现0次或多次

6、“+”:表示前面的表达式必须出现1次或多次。 a.+b (不匹配ab)

7、“?” 表示前面的表达式必须出现0次或1次;终止贪婪模式。正则表达式默认贪婪模式。

8、“{n}” :表示前面的表达式必须出现n次。 a[0-9]{10}b 

9、“{n,}” :限定前边的表达式至少出现n次,无上限。 1[a-z]{3,}2

10、“{n,m}”:限定前边的表达式至少出现n次,最多出现m次。 a[0-9]{3,8}b

11、"^":表示字符串开头。 ^abc 必须以abc开头

12、“$” :表示字符串结尾。 xyz$ 必须以xyz结尾

13、“d”等价于[0-9]

14、“D”等 [^0-9]

15、“s” 表示所有不可见字符,空白符

16、“S” 除s以外的所有字符

17、“w” [0-9a-zA-Z]

18、“W” 除w以外的所有字符

19、“b” 单词边界(断言,只判断,不匹配)

任意单个字符   a[sS]b,a[dD]b,a[wW]b

.net中利用Regex类来处理正则表达式 

Regex.IsMatch();//判断是否匹配

Regex.Match();//提取一个匹配

Regex.Matches();//提取所有匹配

Regex.Replace();//替换

Regex.Split();//分割

 

原文:http://www.cnblogs.com/crhdyl/p/4910766.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐