用于构建正则表达式的元字符 (Production Mapping)
通过正则表达式校验,可以同时校验字符串值的值和格式。字符串字段使用字母数字字符串作为值。这些字段包含要素的名称、测量值(高度、长度、宽度和面积)、z 值和元数据(例如,要素的创建日期)。例如,如果要查找社保号码格式不正确的记录,可以在 SSN 字段中输入“\b[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]\b”。该校验将返回具有 123456789、123-ab-4567、1123-34-12345 和 123-4567 等值的记录。
正则表达式校验也可用于根据值范围来校验文本字符串。要设置这些值的格式,可以定义各种参数。这些参数由元字符和缩写组成。元字符可帮助您增加查询的复杂程度,而缩写可提供用于在查询中包含特定类型值的快捷方式。
下面所述的元字符是可在查询中使用的运算符,用于通过正则表达式校验来确定要匹配的内容。
| 元字符 | 描述 | 示例 | 
|---|---|---|
| . | 匹配各个字符。 | x.y.z 匹配字符串,例如 x1y0z 或 xaybz。 | 
| [ ] | 包含要匹配的各个字符以及值范围。 | [xyz] 匹配包含 x、y 或 z 的字符串。 | 
| ^ | 该运算符位于表达式开头时,用于匹配起始输入。该运算符位于括号内并且后接字符时,用于对后接的字符取反。  注: 如果后接加括号的组,则匹配组内的字符。 | [^abc] 匹配不包含 a、b 和 c 任意组合的字符串。匹配的字符串包括 bat 和 bar,但不包括 cab。^[xyz] 匹配以 x、y 或 z 开头的字符串。 | 
| - | 指示要匹配的值范围。  注: 该范围必须用括号括起来。 | [1–5] 匹配诸如 12345 或 26589 之类的字符串,但不匹配 6789。 | 
| ? | 前面的字符或值范围是要匹配的表达式的可选部分。 | Sept? 匹配 Sept 和 September,但不匹配 December。 | 
| + | 可与前面的字符或值范围匹配一次或多次。 | [0–9]+ 匹配 1、11、456 等等。 | 
| * | 可与前面的字符或值范围匹配零次或多次。 | 12*3 匹配 1223 和 123,但不匹配 223 或 23。 | 
| ?? | 匹配可选字符或值范围的最小部分。 | 6(th)?? 匹配 6th。 | 
| +? | 匹配可以重复的字符或范围值的最小部分。 | Ju+? 匹配 June 和 July,但不匹配 January。 | 
| *? | 匹配可以重复的字符或范围值的最小部分。 | ea*? 匹配诸如 each、era 和 fare 等字符串。 | 
| ( ) | 包含一组表达式和值。 | (cat) 匹配诸如 category 和 concatenate 等字符串,但不匹配 cart。 | 
| \ | 允许元字符用作文本字符。 | \+ 允许识别加号。 | 
| $ | 匹配基于最后一个字符的输入。 | [123]$ 匹配以 1 2 或 3 结尾的字符串。 | 
| | | 匹配备选短语或拼写。 | I|international 匹配 International 和 international。 | 
| ! | 指示匹配项中不包含的字符。 | c(a!b) 匹配 cat 或 can,但不匹配 cab。 | 
缩写提供值范围的快捷方式。
| 缩写 | 描述 | 
|---|---|
| \a | 任何字母数字字符 (a–zA–Z0–9) | 
| \b | 空白 | 
| \c | 任何字母字符 (a–zA–Z) | 
| \d | 任何十进制数 (0–9) | 
| \h | 任何十六进制数 | 
| \n | 新行 | 
| \q | 加引号的字符串 | 
| \w | 简单词语 ([a–zA–Z]+) | 
| \z | 整数 ([0–9]+) | 
以下是正则表达式的示例:
| 要查找的字符串 | 正则表达式 | 
|---|---|
| 介于 1900-01-01 与 2099-12-31 之间且格式为 yyyy-mm-dd 的日期 | ((19)|(20))\d\d((0[1-9])|(1[012]))((0[1-9])|([12][0-9])|(3[01])) | 
| 人名前后行的一部分 | ^.*Chris.*$ | 
| 只包含字母字符的字符串字段 | [A-Za-z]* |