标签:
需求:从一个文件中,提取所有的邮件地址。正则表达式是用来进行文本(字符串)处理的技术,与语言无关。主要用来描述字符串特征。
特征:字符串中必须出现的内容,可能出现的内容,不能出现的内容三大特征。
观察字符串规律,根据规律总结特征,然后根据特定字符串的特征来编写正则表达式。
元字符
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();//分割
标签:
原文地址:http://www.cnblogs.com/crhdyl/p/4910766.html