需要 Data Reviewer 许可。
您可以通过正则表达式校验来检查字符串值的值和格式。 字符串字段使用字母数字字符串作为值。
正则表达式校验也可用于根据值范围来校验文本字符串。 要设置这些值的格式,可以定义各种参数。 这些参数由元字符和缩写组成。 元字符可帮助您增加查询的复杂程度,而缩写可提供快捷方式,用于在查询中包含特定类型的值。
元字符描述
下表中所述的元字符是可在查询中使用的运算符,用于通过正则表达式校验来确定要匹配的内容。
元字符 | 描述 | 示例 |
---|---|---|
. | 匹配单个字符。 | x.y.z 匹配字符串,例如 x1y0z 或 xaybz。 |
[ ] | 包含要匹配的各个字符以及值范围。 | [xyz] 匹配包含 x、y 或 z 的字符串。 |
^ | 该运算符位于表达式开头时,用于匹配起始输入。 该运算符位于括号内并且后接字符时,用于对后接的字符取反。 注:如果后接加括号的组,则匹配组内的字符。 | ^[xyz] 匹配以 x、y 或 z 开头的字符串。 [^abc] 匹配不包含 a、b 和 c 任意组合的字符串。 匹配的字符串包括 bat 和 bar,但不包括 cab。 |
- | 指示要匹配的值范围。 注:该范围必须用括号括起来。 | [1–5][1-9][1-9] [1-9][1-9] 匹配诸如 12345 或 26589 等字符串,但不匹配 67890。 |
? | 前面的字符或值范围是要匹配的表达式的可选部分。 | 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。 |
值范围的快捷方式
以下缩写提供了值范围的快捷方式:
缩写 | 描述 |
---|---|
\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]* |