正则表达式示例

正则表达式示例

下表显示正则表达式的使用示例。所有示例都适用于 REGEXP,部分示例也适用于 SIMILAR TO(如[示例]列中注释)。结果视您用于搜索的搜索条件而异。对于使用 SIMILAR TO 的示例,结果还要另外根据是否区分大小写和重音而异。

有关 REGEXP 和 SIMILAR TO 如何处理匹配和计算范围的比较,请参见LIKE、REGEXP 和 SIMILAR TO 搜索条件

请注意,如果在文字字符串中使用这些示例(例如,'.+@.+\\..+'),则应使用双反斜线

示例匹配示例
信用卡号(仅限 REGEXP):

Visa:

4[0-9]{3}\s[0-9]{4}\s[0-9]{4}\s[0-9]{4}

MasterCard:

5[0-9]{3}\s[0-9]{4}\s[0-9]{4}\s[0-9]{4}

American Express:

37[0-9]{2}\s[0-9]{4}\s[0-9]{4}\s[0-9]{4}

Discover:

6011\s[0-9]{4}\s[0-9]{4}\s[0-9]{4}

匹配 (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 均适用):

([0-2][0-9]|30|31)/(0[1-9]|1[0-2])/[0-9]{4}

匹配: 31/04/1999, 15/12/4567

非匹配: 31/4/1999, 31/4/99, 1999/04/19, 42/67/25456

Windows 绝对路径(仅限 REGEXP):

([A-Za-z]:|\\)\\[[:alnum:][:whitespace:]!"#$%&'()+,-.\\;=@\[\]^_`{}~.]*

匹配:\\server\share\file

非匹配:\directory\directory2, /directory2

电子邮件地址(仅限 REGEXP):

[[:word:]\-.]+@[[:word:]\-.]+\.[[:alpha:]]{2,3}

匹配:abc.123@def456.com, _123@abc.ca

非匹配:abc@dummy, ab*cd@efg.hijkl

电子邮件地址(仅限 REGEXP):

.+@.+\..+

匹配:*@qrstuv@wxyz.12345.com, __1234^%@@abc.def.ghijkl

非匹配:abc.123.*&ca, ^%abcdefg123

HTML 十六进制颜色代码(REGEXP 和 SIMILAR TO 均适用):

[A-F0-9]{6}

匹配:AB1234, CCCCCC, 12AF3B

非匹配:123G45, 12-44-CC

HTML 十六进制颜色代码(仅限 REGEXP):

[A-F0-9]{2}\s[A-F0-9]{2}\s[A-F0-9]{2}

匹配:AB 11 00, CC 12 D3

非匹配:SS AB CD, AA BB CC DD, 1223AB

IP 地址(仅限 REGEXP):

((2(5[0-5]|[0-4][0-9])|1([0-9][0-9])|([1-9][0-9])|[0-9])\.){3}(2(5[0-5]|[0-4][0-9])|1([0-9][0-9])|([1-9][0-9])|[0-9])

匹配: 10.25.101.216

非匹配: 0.0.0, 256.89.457.02

Java 注释(仅限 REGEXP):

/\*.*\*/|//[^\n]*

匹配位于 /* 和 */ 之间的 Java 注释,或者前缀为 // 的一行注释。

非匹配:a=1

货币(仅限 REGEXP):

(\+|-)?\$[0-9]*\.[0-9]{2}

匹配: $1.00, -$97.65

非匹配: $1, 1.00$, $-75.17

正数、负数和小数值(仅限 REGEXP):

(\+|-)?[0-9]+(\.[0-9]+)?

匹配: +41, -412, 2, 7968412, 41, +41.1, -3.141592653

非匹配: ++41, 41.1.19, -+97.14

口令(REGEXP 和 SIMILAR TO 均适用):

[[:alnum:]]{4,10}

匹配:abcd, 1234, A1b2C3d4, 1a2B3

非匹配:abc, *ab12, abcdefghijkl

口令(仅限 REGEXP):

[a-zA-Z]\w{3,7}

匹配:AB_cd, A1_b2c3, a123_

非匹配:*&^g, abc, 1bcd

电话号码(REGEXP 和 SIMILAR TO 均适用):

([2-9][0-9]{2}-[2-9][0-9]{2}-[0-9]{4})|([2-9][0-9]{2}\s[2-9][0-9]{2}\s[0-9]{4})

匹配: 519-883-6898, 519 888 6898

非匹配: 888 6898, 5198886898, 519 883-6898

句子(仅限 REGEXP):

[A-Z0-9].*(\.|\?|!)

匹配:Hello, how are you?

非匹配:i am fine

句子(仅限 REGEXP):

[[:upper:]0-9].*[.?!]

匹配:Hello, how are you?

非匹配:i am fine

社保号码(REGEXP 和 SIMILAR TO 均适用):

[0-9]{3}-[0-9]{2}-[0-9]{4}

匹配: 123-45-6789

非匹配:123 45 6789, 123456789, 1234-56-7891

URL(仅限 REGEXP):

(http://)?www\.[a-zA-Z0-9]+\.[a-zA-Z]{2,3}

匹配:http://www.sample.com、www.sample.com

非匹配:http://sample.com, http://www.sample.comm


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值