正则表达式的特殊符号和字符,即所谓的元字符,它给了正则表达式强大的功能和灵活性,下面列出常见的符号和字符。
表示法 | 描述 | 正则表达式实例 |
字符 | ||
literal | 匹配文本字符串的字面值literal | foo |
re1|re2 | 匹配正册表达式re1或者re2 | foo|bar |
。 | 匹配任何字符(除了 之外) | b。b |
^ | 匹配字符串起始部分 | ^Dear |
$ | 匹配字符串终止部分 | /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,9} |
[...] | 匹配来自字符集的任意单一字符 | [aeiou] |
[..x-y..] | 匹配x~y范围中的任意单一字符 | [0-9],[A-Za-z] |
[^...] | 不匹配此字符集中中出现的任何一个字符,包括某一范围的字符(如果此字符集中出现) | [^aeiou],[^A-Za-z0-9] |
(*|+?{})? | 用于匹配上面频繁出现/重复出现的字符的非贪婪版本(*、+、?、{}) | .*?[a-z] |
(...) | 匹配封闭的正则表达式,然后另存为子助 | ([0-9]{3})?,f(oo|u)bar |
特殊字符 | ||
d | 匹配任何十进制数字,与[0-9]一致(D与d相反,不匹配任何非数值型的数字) | datad+.txt |
w | 匹配任何字母数字字符,与[A-Za-z0-9_]相同 (W与之相反) | [A-Za-z_]w+ |
s | 匹配任何空格字符,与[ vf]相同(S与之相反) | ofsthe |
匹配任何单词边界(B与之相反) | The | |
N | 匹配已保存的字组N | price:16 |
c | 逐字匹配任何特殊字符c | \,\,* |
A(z) | 匹配字符串的起始(结束) | ADear |