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