正则表达式基础学习[1]
正 则 表 达 式 学 习
正则表达式在验证字符是否匹配,字符串替换,提取子字符串等各个方面应用都非常广泛
基础表达符号
|
符号 |
等价类 |
反向结构 |
等价反向类 |
|
\d (数字) |
[0-9] |
\D |
[^0-9] |
|
\w (字) |
[a-zA-Z0-9_] |
\W (非字) |
[^a-zA-Z0-9_] |
|
\s (空格) |
[\r\t\n\f] |
\S(非空格) |
[^\r\n\f] |
|
\b |
|
|
|
倍增器
|
符号 |
说明 |
|
+ |
加在字符后面,表示有一个或多个同样该字符 |
|
* |
加在字符后面,表示有0个或多个同样该字符 比如: 1* 表示多个1 |
|
? |
加在字符后面,表示有零次或一次同样该字符 |
|
{n,m} |
x{1,2} 表明重复在1次到2次的同样的字符 比如 xxxx匹配 xx匹配 x也匹配 |
|
{n,} |
表示n个或多于n个 举例: x{4,} xxxx匹配 xx不匹配 |
|
{n} |
强制定义连续n个匹配 举例: x{4} xxxx匹配 |
|
$ |
匹配结束 |
|
符号 |
说明 |
|
| |
交替,或者的意思 (a|b)* 任意多的a或b a|(b*) 一个a或者多个b |
|
[] |
单选 [0] 0匹配 |
|
() |
字串 (fdsafdfd) |
|
\ |
下一个匹配符的开始 |
提示:
在perl语言中,用//定义一个匹配项,而在c#中不需要。
两个匹配项之间没有分隔符
演示开始
邮件地址验证
\w+([.]\w+)*@\w+([.]\w+)*
\w+ 一个或多个字符
([.]\w+) 多个( .fjdajfda)的情况,fjdajfda乱举的例子
。。。。
邮编:\d{6}
匹配一个非零字符:[1-9]+\d*
浙公网安备 33010602011771号