《oracle正则表达式》摘抄+自理

select * from t_test_regexp;

A     B

1     AAA
2     bbb
3     !!!
4     !!!
5     吴雁渡
6     12345
7     123AAbb存储@#%!!@#445BBC

1.REGEXP_LIKE:类似于 LIKE 运算符,但执行正则表达式匹配而不是简单的模式匹配

select a.*,a.rowid from t_test_regexp a
where regexp_like(a.b,‘\d‘)   (12345,123AAbb存储@#%!!@#445BBC)//
2.REGEXP_INSTR:在给定字符串中搜索某个正则表达式模式,并返回匹配项的位置。

select a.b,REGEXP_INSTR(a.b,‘\d‘) from t_test_regexp a;(0,0,0,0,0,1,1)

select a.b,‘\d‘,7) from t_test_regexp a;(0,0,0,0,0,0,17)
3.REGEXP_REPLACE:搜索某个正则表达式模式并使用替换字符串替换它

select a.b,REGEXP_REPLACE(a.b,‘靠‘) from t_test_regexp a
where a.a=7                                                                           (靠靠靠AAbb存储@#%!!@#靠靠靠BBC)
4.REGEXP_SUBSTR:在给定字符串中搜索某个正则表达式模式并返回匹配的子字符串

select a.b,REGEXP_SUBSTR(a.b,‘\d{2}‘,1,2) from t_test_regexp a
where a.a=7               (44)

----------------------------------字符释义-------------------------------------------

^:匹配一个字符串的开始。如果与“m” 的match_parameter一起使用,则匹配表达式中任何位置的行的开头。$:匹配字符串的结尾。如果与“m” 的match_parameter一起使用,则匹配表达式中任何位置的行的末尾。*:匹配零个或多个。+:匹配一个或多个出现。?:匹配零次或一次出现。。:匹配任何字符,除了空。|:用“OR”来指定多个选项。[]:用于指定一个匹配列表,您尝试匹配列表中的任何一个字符。[^]:用于指定一个不匹配的列表,您尝试匹配除列表中的字符以外的任何字符。():用于将表达式分组为一个子表达式。{M}:匹配m次。{M,}:至少匹配m次。{M,N}:至少匹配m次,但不多于n次。\ n:n是1到9之间的数字。在遇到\ n之前匹配在()内找到的第n个子表达式。[..]:匹配一个可以多于一个字符的整理元素。[:]:匹配字符类。[==]:匹配等价类。\ d:匹配一个数字字符。\ D:匹配一个非数字字符。\ w:匹配包括下划线的任何单词字符。\ W:匹配任何非单词字符。\ s:匹配任何空白字符,包括空格,制表符,换页符等等。\ S:匹配任何非空白字符。\A:在换行符之前匹配字符串的开头或匹配字符串的末尾。\Z:匹配字符串的末尾。*?:匹配前面的模式零次或多次发生。+?:匹配前面的模式一个或多个事件。??:匹配前面的模式零次或一次出现。{N}?:匹配前面的模式n次。{N,}?:匹配前面的模式至少n次。{N,M}?:匹配前面的模式至少n次,但不超过m次。

相关文章

文章浏览阅读773次,点赞6次,收藏9次。【代码】c# json字符...
文章浏览阅读8.7k次,点赞2次,收藏17次。此现象一般定位到远...
文章浏览阅读2.8k次。mysql脚本转化为oracle脚本_mysql建表语...
文章浏览阅读2.2k次。cx_Oracle报错:cx_Oracle DatabaseErr...
文章浏览阅读1.1k次,点赞38次,收藏35次。本文深入探讨了Or...
文章浏览阅读1.5k次。默认自动收集统计信息的时间为晚上10点...