正则表达式文字和特殊字符
本节介绍的正则表达式语法用于引用文字字符、特殊字符、不可打印字符(例如制表符或换行符)和特殊转义字符。
常值字符
模式匹配的最基本形式是字面字符匹配。如果正则表达式为
foo
并且输入字符串为 foo
,则匹配将成功,因为字符串相同。 特殊字符
某些字符保留用于正则表达式中的特殊用途。这些特殊字符称为元字符。如果您想将特殊字符用作原义字符,则必须对其进行转义。
角色姓名 | 字符 | 预留对象 |
|---|---|---|
左括号 | [
| 字符类开头 |
右括号 | ]
| 字符类的结尾 |
连字符 | -
| 字符类中的字符范围 |
反斜杠 | \
| 常规转义字符 |
脱字符号 | ^
| 字符串的开头、某个字符类的取反 |
美元符号 | $
| 字符串结尾 |
期间 | .
| 匹配任意单个字符 |
竖线 | |
| 替代 (OR) 运算符 |
问号 | ?
| 可选量词、量词最小化方法 |
星号 | *
| 零个或多个量词 |
加号 | +
| 一个或多个量词 |
左括号 | (
| 子表达式组的开头 |
右括号 | )
| 子表达式组的结尾 |
左大括号 | {
| 最小值/最大值量词起点 |
右大括号 | }
| 最小值/最大值量词结尾 |
对特殊字符进行转义
您可以使用以下方法将特殊字符视为文字(普通)字符:
- 请在特殊字符前添加一个\(反斜杠字符)。示例:如要将星号指定为字面字符(而不是量词),请使用\*。
- 将特殊字符括在括号内\Q(起始报价),\E(结束报价)。介于两者之间的所有内容\Q与\E那么,将被视为原义字符。
- 如要在字符串中转义原义双引号REGEX()表达式,将双引号 ("")。示例:从中提取英寸部分height字段(示例值为 )6'2",5'11":REGEX([height], "\'(\d)+""$")
非打印字符
您可以使用特殊字符序列构造在正则表达式中指定不可打印的字符。以下是一些最常用的结构:
构建 | 匹配项 |
|---|---|
\n
| 换行符 |
\r
| 回车符 |
\t
| 制表符 |
\f
| 换页符 |