码迷,mamicode.com
首页 > Windows程序 > 详细

c#正则表达式

时间:2015-10-26 13:31:33      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

元字符

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[\s\S]b,a[\d\D]b,a[\w\W]b

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

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

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

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

Regex.Replace();//替换

Regex.Split();//分割

 

c#正则表达式

标签:

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!