正则表达式
序号 |
代码 |
描述 |
1 |
. |
匹配任意单个字符(中文字符也可以) |
2 |
[字符集合] |
匹配字符集合中的单个字符 [1235] 1或2或3或5都可以,4不行 |
3 |
[起始-结束] |
匹配俩字符间的一个字符,包括起始和结束字符 [0-3a-c] 0到3或者a到c都满足匹配条件 |
4 |
[^字符集合] [^起始-结束] |
表达功能和序号2,3相反 |
5 |
\普通字符转成 元字符 |
\r:回车\n:换行\t:Tab键 \d:单个数字等于[0-9] \D:非数字等于[^0-9] \w:单个大小写字母,数字,下划线等于[a-zA-Z0-9_] \W:非单个大小写字母,数字,下划线等于[^a-zA-Z0-9_] \s:单个空字符(回车,空格等) \S:非空字符 |
6 |
\元字符转成 普通字符 |
元字符列表.[]()*^$?+ 注意:<>{}不是元字符 |
7 |
+,*和? |
单字符后面跟上”+” 表示:至少一个 ”*”:0个或者多个 ”?”:1个或者0个 |
8 |
{数字} |
匹配固定数目的字符 \d{3} 000到999的数字 1[35]\d{9} 手机号码(11位) |
9 |
{最小字符数量,最大字符数量} |
区间内数目范围 {0,1}等于? {1,}等于+ {0,}等于* |
10 |
\b |
字符前面加上”\b”表示后面的字符出现在最前面 字符后加上”\b”表示\b前的字符出现在最后面 \bChina\b 匹配China这个单词 |
11 |
(子模式) |
括起来当做一个字符来处理 (<br\s*/?>){1,} 匹配的有:<br>,<br><br/><br /> |
12 |
reg1|reg2 或模式 |
匹配1900到2099之间的年份(19|20)\d{2}等于19\d{2}|20\d{2} |
13 |
\数字 后向引用 |
<h([1-6])>.*</h\1> :\1表示引用第1个子模式 根据索引查找 .net中的后向引用,可以对子模式先取个名字?<name> 后向引用的语法\k<name> <h(?<name1>[1-6])>.*</h\k<name1>> |
常用例子
允许2到6个汉字,英文字母,数字^[a-zA-Z0-9\u4e00-\u9fa5]{2,6}$