正则表达式

代码     说明
. 匹配除换行符以外的任意字符
\w(小写) 匹配字母或数字或下划线或汉字
\W 匹配任意不是字母,数字,下划线,汉字的字符,跟\w(小写)是反义
\s(小写) 匹配任意的空白符
\S 匹配任意不是空白符的字符
\d 匹配数字
\D 匹配任意非数字的字符
\b 匹配单词的开始或结束
\B 匹配不是单词开头或结束的位置
^ 匹配字符串的开始
$ 匹配字符串的结束
\ 转义字符
*         0次或者多次
+ 至少有1次或者多次
? 0次或者1次
{n} 重复n次
{n,} 重复n次或者更多次
{n,m} 重复n到m次
[aeiou] 匹配aeiou这几个字母
[^aeiou] 匹配除了aeiou这几个字母以外的字符
| 替换,如a|b表示a或者b
() 分组,如(abc){3}表示abcabcabc
(?=exp) 断言自身出现的位置的后面能匹配表达式exp,如:\b\w+(?=ing\b)会匹配以ing结尾的单词的前面部分(除了ing以外的部分,如查找 I am singing 会找到sing)
(?<=exp) 断言自身出现的位置的前面能匹配表达式exp,如:(?<=\bre)\w+\b会匹配以re开头的单词的后半部分(除了re以外的部分,如查找 I am reading book会找到ading),与(?=exp)是一个反的过程
(?!exp) 断言此位置的后面不能匹配表达式exp,例如:\d{3}(?!\d)匹配三位数字,而且这三位数字的后面不能够是数字
(?<!exp) 断言此位置的前面不能匹配表达式exp,例如:(?<![a-z])\d{7}匹配前面不是小写字母的七位数字,如a1234567则不能够匹配,A1234567则能够匹配出1234567,跟(?!exp)是和反的过程
*? 重复任意次,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0次或1次,但尽可能少重复
{n,m}? 重复n到m次,但尽可能少重复
{n,}? 重复n次以上,但尽可能少重复

.net常用的正则表达式选项:
IgnoreCase  忽略大小写
Multiline       多行模式
Singleline     单行模式
IgnorePatternWhitespace 忽略空白
RightToLeft  从右到左
ExplicitCapture 显示捕获
ECMAJavaScript  JavaScript兼容模式
posted @ 2008-07-02 12:06  谢杰  阅读(267)  评论(0编辑  收藏  举报