正则表达式
代码 | 说明 |
. | 匹配除换行符以外的任意字符 |
\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兼容模式