正则表达式
常用符号
| * |
匹配前面的字符、子表达式或括号里的字符 0 次或多次
|
| + |
匹配前面的字符、子表达式或括号里的字符至少1 次
|
| [] |
匹配任意一个字符(相当于“任选一个”)
|
| () |
表达式编组(在正则表达式的规则里编组会优先运行)
|
| {m,n} |
匹配前面的字符、子表达式或括号里的字符 m 到n 次(包含 m 或 n)
|
| [^] |
匹配任意一个不在中括号里的字符
|
| | |
匹配任意一个由竖线分割的字符、子表达式(注意是竖线,不是大字字母 I)
|
| . |
匹配任意单个字符(包括符号、数字和空格等)
|
| ^ |
指字符串开始位置的字符或子表达式
|
| \ |
转义字符(把有特殊含义的字符转换成字面形式)
|
| $ |
经常用在正则表达式的末尾,表示“从字符串的末端匹配”。如果不用它,每个正则表达式实际都带着“.*”模式,只会从字符串开头进行匹配。这个符号可以看成是 ^ 符号的反义词
|
| ?! |
“不包含”。这个奇怪的组合通常放在字符或正则表达式前面,表示字符不能出现在目标字符串里。
这个符号比较难用,字符通常会在字符串的不同部位出现。如果要在整个字符串中全部排除某个
字符,就加上 ^ 和 $ 符号
|
简单举例
1、重复任意次a,包括0次
aa*
a*b,任意个a,最后出现1个b
2、重复5次出现
bbbbb
3、任意偶数个字符重复,包括0次
(cc)*
4、或关系,可能出现也可能不出现
(d|)
b(a|i|e)d,比如bad,bid,bed
5、范围内的任意一个字符
[A-Z] 表示大写字母A ~ Z
[a-z]
[0-9]
6、范围内的字符可多次出现,至少出现1次
[]+
[]* 则可出现0次
7、标点符号,如.
\.
8、匹配任意单个字符
b.d,比如bad,bzd,b$d,b d
9、字符串a开始的位置
^a,比如:apple,asdf,a
案例:
邮箱的正则表达式:[A-Za-z0-9\._+]+@[A-Za-z]+\.(com|org|edu|net)

学习地址:https://www.regexpal.com/
浙公网安备 33010602011771号