正则表达式语法
正则表达式语法
字符匹配语法:
|
字符语法 |
语法解释 |
语法例子 |
|
"d |
匹配数字(0~9) |
‘"d’匹配8,不匹配12; |
|
"D |
匹配非数字 |
‘"D’匹配c,不匹配3; |
|
"w |
匹配任意单字符 |
‘"w"w’ 匹配A3,不匹配@3; |
|
"W |
匹配非单字符 |
‘"W’匹配@,不匹配c; |
|
"s |
匹配空白字符 |
‘"d"s"d’匹配3 d,不匹配abc; |
|
"S |
匹配非空字符 |
‘"S"S"S’匹配A#4,不匹配3 d; |
|
. |
匹配任意字符 |
‘....’匹配A$ 5,不匹配换行; |
|
如果使用.不作为特殊字符请使用 /.表示 | ||
|
[…] |
匹配括号中任意字符 |
[b-d]匹配b、c、d, 不匹配e; |
|
[^…] |
不匹配括号内字符 |
[^b-z]匹配a,不匹配b-z的字符; |
重复匹配语法:
|
重复语法 |
语法解释 |
语法例子 |
|
{n} |
匹配n次字符 |
"d{3}匹配"d"d"d,不匹配"d"d或"d"d"d"d |
|
{n,} |
匹配n次和n次以上 |
"w{2}匹配"w"w和"w"w"w以上,不匹配"w |
|
{n,m} |
匹配n次上m次下 |
"s{1,3}匹配"s,"s"s,"s"s"s,不匹配"s"s"s"s |
|
? |
匹配0或1次 |
5?匹配5或0,不匹配非5和0 |
|
+ |
匹配一次或多次 |
"S+匹配一个以上"S,不匹配非一个以上"S |
|
* |
匹配0次以上 |
"W*匹配0以上"W,不匹配非N*"W |
字符定位语法:
|
重复语法 |
语法解释 |
语法例子 |
|
^ |
定位后面模式开始位置 |
|
|
$ |
前面模式位于字符串末端 |
|
|
"A |
前面模式开始位置 |
|
|
"z |
前面模式结束位置 |
|
|
"Z |
前面模式结束位置(换行前) |
|
|
"b |
匹配一个单词边界 |
|
|
"B |
匹配一个非单词边界 |
|
转义匹配语法:
|
转义语法 |
涉及字符(语法解释) |
语法例子 |
|
“"”+实际字符 |
" . * + ? | ( ) { }^ $ |
例如:""匹配字符“"” |
|
"n |
匹配换行 |
|
|
"r |
匹配回车 |
|
|
"t |
匹配水平制表符 |
|
|
"v |
匹配垂直制表符 |
|
|
"f |
匹配换页 |
|
|
"nnn |
匹配一个8进制ASCII |
|
|
"xnn |
匹配一个16进制ASCII |
|
|
"unnnn |
匹配4个16进制的Uniode |
|
|
"c+大写字母 |
匹配Ctrl-大写字母 |
例如:"cS匹配Ctrl+S |
构造正则表达式需要涉及Regex类,在Regex类中包括:IsMatch()、Replace()、Split()和Match的类;
如果使用的是 C#,则可以使用以 @ 为前缀以禁用转义的 C# 字符串(例如 @""s2000"),"s不再转义。
浙公网安备 33010602011771号