表示法 | 描述 | 正则表达式实例 |
literal | 匹配文本字符串literal | foo |
re1|re2 | 匹配正则表达式re1或re2 | foo|hh |
. | 匹配任何字符(除\n之外) | b.b. |
^ | 匹配字符串起始部分 | ^My |
$ | 匹配字符串终止部分 | /bin/*sh$ |
* | 匹配0次或多次前面出现的正则表达式 | [A-Za-z0-9]* |
+ | 匹配1次或多次前面出现的正则表达式 | [a-z]+\.com |
? | 匹配0次或1次前面出现的正则表达式 | goo? |
{N} | 匹配N次前面出现的正则表达式 | [0-9]{3} |
{M,N} | 匹配M~N次前面出现的正则表达式 | [0-9]{5,6} |
[...] | 匹配来自字符集的任意单一字符 | [aeiou] |
[..x-y..] | 匹配x~y范围中的任意单一字符 | [0-9],[^A-Za-z] |
[^...] | 不匹配此字符集中出现的任何一个字符,包括某一范围的字符(如果在此字符集中出现) | [^aeiou],[^A-Za-z0-9] |
(*|+|?|{})? | 用于匹配上面频繁出现/重复出现符号的非贪婪版本(*, +, ?, {}) | .*?[a-z] |
(...) | 匹配封闭的正则表达式,然后另存为子组 | ([0-9]{3})?,ff(00|u)bar |
\d | 匹配任何十进制的数字,与[0-9]一致(\D相反,不匹配任何非数值型的数字) | data\d+.txt |
\w | 匹配任何字母数字字符,与[A-Za-z0-9_]相同(\W相反) | [A-Za-z_]\w+ |
\s | 匹配任何空白字符,与[\n\t\r\v\f]相同(\S相反) | of\sthe |
\b | 匹配任何单词边界(\B相反) | \bThe\b |
\N | 匹配以保存的子组N | price:\16 |
\c | 逐字匹配任何特殊字符c | \.,\\,\* |
\A(\Z) | 匹配字符串起始(结束) | \ADear |
拓展表示法 | ||
(?iLmsux) | 在正则表达式中嵌入一个或者多个特殊“标记”参数(或通过函数/方法) | (?*),(? im) |
(?:...) | 表示一个匹配不用保存的分组 | (?:\w+\.)* |
(?P<name>...) | 像一个仅由name标识而不是数字ID标识的正则表达式 | (?P<data>) |
(?P=name) | 在一个字符串中匹配由(?P<name)分组之前的文本 | (?=data) |
(?#...) | 表示注释,所有内容都被忽略 | (?#dhbvc) |
(?#=...) | 匹配条件是如果...出现在之后的位置,而不使用输入字符串,乘坐正向前视断言 | (?=800-) |