例如,在 'bb' REGEXP '(?:b*)b' 中,(?:b*) 匹配(并消耗)bb。但是,与所属关系局部子表达式不同,bb 中的最后一个 b 会被放弃,以允许整个匹配成功(即,允许与在非捕获块的外部找到的 b 匹配)。
同样,'a(?:bc|b)c' 匹配 abcc 和 abc。在匹配 abc 时,bc 中最后面的 c 会发生回溯,以便可以使用组外的 c 来使匹配成功。
正则表达式示例
下表显示正则表达式的使用示例。所有示例都适用于 REGEXP,部分示例也适用于 SIMILAR TO(如[示例]列中注释)。结果视您用于搜索的搜索条件而异。对于使用 SIMILAR TO 的示例,结果还要另外根据是否区分大小写和重音而异。
有关 REGEXP 和 SIMILAR TO 如何处理匹配和计算范围的比较,请参见LIKE、REGEXP 和 SIMILAR TO 搜索条件。
请注意,如果在文字字符串中使用这些示例(例如,'.+@.+..+'),则应使用双反斜线
| 示例 | 匹配示例 |
|---|---|
| 信用卡号(仅限 REGEXP):
Visa:
MasterCard:
American Express:
Discover:
|
匹配 (Visa): 4123 6453 2222 1746
非匹配 (Visa): 3124 5675 4400 4567, 4123-6453-2222-1746 同样,MasterCard 匹配一组 16 位的号码,以 5 开头,每四位号码组成的子集之间各有一个空格。American Express 和 Discover 是相同的,但是必须分别以 37 和 6011 开头。 |
| 日期(REGEXP 和 SIMILAR TO 均适用):
|
匹配: 31/04/1999, 15/12/4567
非匹配: 31/4/1999, 31/4/99, 1999/04/19, 42/67/25456 |
| Windows 绝对路径(仅限 REGEXP):
|
匹配:serversharefile
非匹配:directorydirectory2, /directory2 |
| 电子邮件地址(仅限 REGEXP):
|
匹配:abc.123@def456.com, _123@abc.ca
相关文章
大家在看
|









