浅谈oracle中的正则表达式REGEXP_like使用

最近才知道,oracle和my sql的正则用法是不一样的,在scott用户做的测试,请看图

select * from DEPT;

浅谈oracle中的正则表达式REGEXP_like使用_第1张图片

SELECT * FROM DEPT A WHERE REGEXP_LIKE(A.DNAME,'^ACC');

––查看字段中以ACC开头的数据

浅谈oracle中的正则表达式REGEXP_like使用_第2张图片

 

SELECT * FROM DEPT A WHERE REGEXP_LIKE(A.DNAME,'CH$');

––查看字段中以CH结尾的数据

浅谈oracle中的正则表达式REGEXP_like使用_第3张图片

SELECT * FROM DEPT A WHERE REGEXP_LIKE(A.DEPTNO,'[1]');

––查看字段中包含1的数据

浅谈oracle中的正则表达式REGEXP_like使用_第4张图片

 

 ––以上仅为我个人测试心得,欢迎各位大神指导,感激不尽 其他用法参照下文:

匹配过程中可能会涉及到的元字符(Meta Character)对应的sql代码:

^ 使表达式定位至一行的开头 

$ 使表达式定位至一行的末尾

* 匹配0次或更多次 

? 匹配0次或1次

+ 匹配1次或更多次 

{m} 正好匹配m次

{m,} 至少匹配m次

{m,n} 至少匹配m次但不超过n次

[:alpha:] 字母字符,匹配字符A-Z、a-z

[:lower:] 小写字母字符,匹配字符a-z

[:upper:] 大写字母字符,匹配字符A-Z

[:digit:] 数字,匹配数字0-9

[:alphanum:] 字母数字字符,匹配字符A-Z、a-z、0-9

[:space:] 空白字符(禁止打印),如回车、换行符、竖直制表符和换页符[:punct:] 标点字符

[:cntrl:] 控制字符(禁止打印)

[:print:] 可打印字符|分隔替换选项,通常与分组符()一期使用

() 将子表达式分组为一个替换单元,量词单元或后向引用单元

[char] 字符列表 

. 匹配除null之外的任意单个字符 

/ 要匹配的字符是一个特殊字符、常量或者后者引用

x|y 匹配 x 或 y

[abc] 匹配abc中的任何单个字符

[a-z] 匹配 a 到 z 范围内的任意单个字符

你可能感兴趣的:(ORACLE,正则表达式,REGEXP,数据库)