oracle正则匹配查询

REGEXP_LIKE

3个参数

第一个是输入的字符串

第二个是正则表达式

第三个是取值范围:

i:大小写不敏感;

c:大小写敏感;

n:点号 . 不匹配换行符号;

m:多行模式;

x:扩展模式,忽略正则表达式中的空白字符。

 

全部测试数据

SQL> SELECT * FROM test_reg_like;

A

----------------------------------------

ABC

A12

12a12

 

匹配字母A

SQL> SELECT

 2    *

 3  FROM

 4    test_reg_like

 5  WHERE

 6    REGEXP_LIKE(a, 'A');

A

----------------------------------------

ABC

A12

 

匹配字母A(大小写不敏感)

SQL> SELECT

 2    *

 3  FROM

 4    test_reg_like

 5  WHERE

 6    REGEXP_LIKE(a, 'A', 'i');

A

----------------------------------------

ABC

A12

12a12

 

匹配字母A 后面跟1个或多个数字的(大小写不敏感)

SQL> SELECT

 2    *

 3  FROM

 4    test_reg_like

 5  WHERE

 6    REGEXP_LIKE(a, 'A\d+', 'i');

 A

----------------------------------------

A12

12a12

 

匹配字母A开头,数字结尾的

SQL> SELECT

 2    *

 3  FROM

 4    test_reg_like

 5  WHERE

 6    REGEXP_LIKE(a, '^A.+\d$');

A

----------------------------------------

A12

猜你喜欢

转载自qieyi28.iteye.com/blog/2040722