正则表达式的强大之处在于能够在模式中包含备选方案和重复。这些通过使用 *元字符* 在模式中进行编码,这些元字符不代表自身,而是以某种特殊方式解释。
有两组不同的元字符:一组在模式中的任何位置都识别,除了方括号内,另一组在方括号内识别。在方括号外,元字符如下所示
元字符 | 描述 |
---|---|
\ | 通用转义字符,具有多种用途 |
^ | 断言主题的开头(或在多行模式下为行开头) |
$ | 断言主题的结尾或终止换行符之前(或在多行模式下为行结尾) |
. | 匹配除换行符之外的任何字符(默认情况下) |
[ | 字符类定义的开始 |
] | 字符类定义的结束 |
| | 备选分支的开始 |
( | 子模式的开始 |
) | 子模式的结束 |
? | 扩展(的含义,也是 0 或 1 个量词,也使贪婪量词变为惰性(参见 重复)) |
* | 0 个或多个量词 |
+ | 1 个或多个量词 |
{ | 最小/最大量词的开始 |
} | 最小/最大量词的结束 |
元字符 | 描述 |
---|---|
\ | 通用转义字符 |
^ | 否定该类,但前提是第一个字符 |
- | 表示字符范围 |