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