| \b |
匹配一个单词边界 |
\bhi\b |
hi |
| \B |
匹配一个单词非边界 |
\Bhi\B |
this |
| \d |
匹配一个数字字符 |
\d |
123 45 |
| \D |
匹配一个非数字字符 |
\D |
a A @ —_ |
| \w |
匹配数字/字母/下划线 |
\w |
123 45 abc_ |
| \W |
匹配非数字/字母/下划线 |
\W |
@#$% |
| ^ |
字符串开头 |
^hi |
hi him hidden |
| $ |
字符串结束 |
hi$ |
hi chi orochi |
| [] |
匹配指定一堆字符中的一个 |
^[a-z]at$ |
cat mat zat |
|
|
^[A-Za-z]at$ |
Cat cat Mat |
|
|
^[aeiou]at$ |
aat cat uat |
| [^] |
不匹配指定集合中任何一个字符 |
[xyz]at$ |
不能匹配 xat yat zat |
| + |
前一模式可以被重复1次或n次 |
^go+gle |
gogle google goooooogle |
|
|
^g[aeiou]+gle$ |
gogle gegle geagle gaeiougle |
| * |
前一模式可以被重复0次或n次 |
^go*gle |
ggle google goooooogle |
|
|
^g[aeiou]*gle$ |
ggle gegle geagle gaeiougle |
| ? |
前一模式可以被重复0次或1次 |
^go?gle |
ggle gogle |
| {x} |
前一模式可以被重复x次 |
^go{2}gle$ |
google |
| {x,y} |
前一模式可以被重复x到y次 |
^go{2,4}gle$ |
google gooogle goooogle |
| {x,} |
前一模式可以被重复至少x次 |
^go{2,}gle$ |
google gooogle gooooooooogle |
| () |
可以指定一堆字符匹配一个模式,分组 |
^(very )*large$ |
largevery largevery very largevery very very very large |
| | |
指定几个规则只要匹配一个即可匹配(逻辑或) |
^abc-(com|org|net)$ |
abc-com abc-org abc-net |
| |匹配"[""^""+"")"等有特殊含义的字符,可以用“\”做转义 |
^1*(2+3)=6$ |
1*(2+3)=6 |
|
| . |
匹配除换行符 \n 之外的任何单字符 |
^<.*>$ |
正则表达式 |
|
|
|
|
| \cx |
匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符 |
|
|
| \f |
匹配一个换页符。等价于 \x0c 和 \cL |
|
|
| \n |
匹配一个换行符。等价于 \x0a 和 \cJ |
|
|
| \r |
匹配一个回车符。等价于 \x0d 和 \cM |
|
|
| \s |
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符 |
|
|
| \S |
匹配任何非空白字符。等价于 [^ \f\n\r\t\v] |
|
|
| \t |
匹配一个制表符。等价于 \x09 和 \cI |
|
|
| \v |
匹配一个垂直制表符。等价于 \x0b 和 \cK |
|
|