正则表达式的特殊符号和字符,即所谓的元字符,它给了正则表达式强大的功能和灵活性,下面列出常见的符号和字符。
| 表示法 | 描述 | 正则表达式实例 |
| 字符 | ||
| 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 |