《oracle正则表达式》摘抄+自理
Posted zwybky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《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,REGEXP_INSTR(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,‘d‘,‘靠‘) 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:在换行符之前匹配字符串的开头或匹配字符串的末尾。
:匹配字符串的末尾。
*?:匹配前面的模式零次或多次发生。
+?:匹配前面的模式一个或多个事件。
??:匹配前面的模式零次或一次出现。
{N}?:匹配前面的模式n次。
{N,}?:匹配前面的模式至少n次。
{N,M}?:匹配前面的模式至少n次,但不超过m次。
以上是关于《oracle正则表达式》摘抄+自理的主要内容,如果未能解决你的问题,请参考以下文章