18正则表达字符样式.docx
- 文档编号:8213065
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:11
- 大小:16.08KB
18正则表达字符样式.docx
《18正则表达字符样式.docx》由会员分享,可在线阅读,更多相关《18正则表达字符样式.docx(11页珍藏版)》请在冰豆网上搜索。
18正则表达字符样式
SQL>select*fromposix_example;
S
--------------------
abb
acb
aaa
bca
ab
.---->用于匹配任何单个字符
SQL>select*fromposix_examplewhereregexp_like(s,'a.b');
S
--------------------
abb
acb
+---->该操作符用于匹配在该符号前出现1次或者多次的子表达式
SQL>select*fromposix_examplewhereregexp_like(s,'bc+');
S
--------------------
bca
abc
bbbcccc
?
----->该操作符用于匹配在该符号前出现0次或1次的子表达式注意abbbc不匹配要求
SQL>insertintoposix_examplevalues('abbbc');
1rowcreated.
SQL>select*fromposix_examplewhereregexp_like(s,'ab?
c');
S
--------------------
acb
abc
*---->该操作符用于匹配在该符号前出现0次或多次的子表达式
SQL>select*fromposix_examplewhereregexp_like(s,'a*c');
S
--------------------
acb
bca
abc
abbbc
bbbccccccc
{m}----->该操作符用于匹配在该符号前出现m次的子表达式aaaa{3}想匹配
SQL>select*fromposix_examplewhereregexp_like(s,'b{3}');
S
--------------------
abbbc
bbbccccccc
{m,}----->该操作符用于匹配在该符号前至少出现m次的子表达式例如aaaaaaaaa与a{2,}匹配但a不匹配
SQL>select*fromposix_examplewhereregexp_like(s,'b{2,}')
2;
S
--------------------
abb
abbbc
bbbccccccc
{m,n}---->该操作符用于匹配在该符号前出现m次但不超过n次的子表达式
[...]---->该操作符用于匹配列表的任一字符例如abacabc都匹配a[bc]但ada都不匹配
SQL>insertintoposix_examplevalues('a');
1rowcreated.
SQL>select*fromposix_examplewhereregexp_like(s,'a[bc]');
S
--------------------
abb
acb
ab
abc
abbbc
[^..]----->该操作符用于匹配不在列表中任一字符
SQL>select*fromposix_examplewhereregexp_like(s,'a[^bc]');
S
--------------------
aaa
|------>该操作符用于匹配二选一字符例如ab|bc匹配于样式ab|bc但字符串addb不匹配与该样式
SQL>select*fromposix_examplewhereregexp_like(s,'ab|bc');
S
--------------------
abb
bca
ab
abc
abbbc
bbbccccccc
(....)------>该操作符用于成组字符串。
例如adcdefdef与样式(abc)?
def匹配但字符串abcghi与该样式不匹配
SQL>select*fromposix_examplewhereregexp_like(s,'(abc)?
cb');
S
--------------------
acb
\n------>该操作符用于匹配在该符号之前第n次重复出现的子表达式(用括号括住)
例如abcxyabcdefxydef匹配于样式(abc|def)xy\1但abcxydefabcxy与该样式不匹配
SQL>select*fromposix_examplewhereregexp_like(s,'(abc|def)xy\1');
S
--------------------
abcxyabc
defxydef
SQL>select*fromposix_examplewhereregexp_like(s,'(abc)xy\1');
S
--------------------
abcxyabc
SQL>select*fromposix_examplewhereregexp_like(s,'(def)xy\1');
S
--------------------
defxydef
\------->该操作符用于将随后的样式符转义为字符值
SQL>select*fromposix_examplewhereregexp_like(s,'\+');
S
--------------------
a+b
^------->该操作符用于匹配开始串。
SQL>select*fromposix_examplewhereregexp_like(s,'^abc');
S
--------------------
abc
abcxyabc
abcxydef
abcxy
abcxyabcabc
$------->该操作符用于匹配结束串。
SQL>select*fromposix_examplewhereregexp_like(s,'efxydef$');
S
--------------------
defxydef
[:
class:
]------>该操作符用于匹配属于posix字符类别的任意字符串。
例如:
abC匹配样式[[:
upper:
]]但字符串abcabcd不匹配与该样式
SQL>select*fromposix_examplewhereregexp_like(s,'[[:
upper:
]]');
S
--------------------
abC
aBC
ABC
[.element.]----->该操作符用于指定比较元素
abcxyxy匹配于样式[[.x.]]但字符串acb不匹配
SQL>select*fromposix_examplewhereregexp_like(s,'[[.x.]]');
S
--------------------
abcxyabc
defxydef
abcxydef
abcxy
abcxyabcabc
[=character=]----->该操作符用于指定特定字符匹配的字符串
abcxyxy匹配于样式[[.x.]]但字符串acb不匹配
SQL>select*fromposix_examplewhereregexp_like(s,'[[=x=]]');
S
--------------------
abcxyabc
defxydef
abcxydef
abcxy
abcxyabcabc
\d-------->用于匹配数字字符相当于posix类型[[:
digit:
]]123t123匹配\d{3}但是12ab不匹配
SQL>select*fromposix_examplewhereregexp_like(s,'\d{1}');-->既包含数字且数字长度要大于等于1
S
--------------------
123
123t
\D------->用于匹配非数字字符相当于posix类型[^[:
digit:
]]
SQL>select*fromposix_examplewhereregexp_like(s,'\D{5}');---->既要包含非数字且字符要大于等于5
S
--------------------
abbbc
bbbccccccc
abcxyabc
defxydef
abcxydef
abcxy
abcxyabcabc
\w-------->该操作符用于匹配阿拉伯和_(下划线)相当于posix类型[[:
alnum:
]_]--->相当于单词
SQL>select*fromposix_examplewhereregexp_like(s,'\w+@');
S
--------------------
huchenghua987@126.
SQL>select*fromposix_examplewhereregexp_like(s,'\w+\+');
S
--------------------
a+b
\W-------->该操作符用于匹配非单词字符相当于posix类型[^[:
alnum:
]_]
SQL>select*fromposix_examplewhereregexp_like(s,'\W');
S
--------------------
a+b
huchenghua987@126.
\s-------->该操作符用于匹配空格符相当于posix类型[[:
space:
]]
SQL>select*fromposix_examplewhereregexp_like(s,'\s');
S
--------------------
ab
\S--------->该操作符用于匹配非空格符相当于posix类型[^[:
space:
]]
SQL>select*fromposix_examplewhereregexp_like(s,'\w\S\w');
S
--------------------
abcxyabcabc
a+b
abC
aBC
ABC
abc
123
123t
123456789012
123456789012t
huchenghua987@126.
11rowsselected.
\A------>用于匹配字符串的开始串例如abcdex匹配\Aabcd但字符串abcx不匹配
SQL>select*fromposix_examplewhereregexp_like(s,'\A123');
S
--------------------
123
123t
123456789012
123456789012t
\Z(z)------->用于匹配字符串的结束串例如abcdex匹配ex\Z但字符串abcx不匹配
SQL>select*fromposix_examplewhereregexp_like(s,'c\Z');
S
--------------------
abc
abbbc
bbbccccccc
abcxyabc
abcxyabcabc
abc
6rowsselected.
*?
----->该操作符用于匹配出现0次或多次的先前样式元素。
SQL>select*fromposix_examplewhereregexp_like(s,'abcd*?
');
S
--------------------
abc
abcxyabc
abcxydef
abcxy
abcxyabcabc
abc
+?
------->用于匹配出现1次或多次的先前样式元素
SQL>select*fromposix_examplewhereregexp_like(s,'abcd+?
');
norowsselected
?
?
------->用于匹配出现0次或者1次先前样式元素
SQL>select*fromposix_examplewhereregexp_like(s,'ccc?
?
c');
S
--------------------
bbbccccccc
{n}?
------->用于匹配出现n次的先前样式元素例如aaa匹配样式a{3}?
aa不匹配
SQL>select*fromposix_examplewhereregexp_like(s,'b{3}?
');
S
--------------------
abbbc
bbbccccccc
SQL>select*fromposix_examplewhereregexp_like(s,'c{3}?
');
S
--------------------
bbbccccccc
{n,}?
------>用于匹配至少出现n次的先前样式元素.a{2,}?
但字符串a不匹配该样式
{m,n}?
------>该操作符用于匹配至少出现m次但不超过n次的先前样式元素
------------------------------------------------------------------------
正则表达式样式修饰服
i------->该修饰服用于指定不区分大小写
SQL>selectregexp_substr('AbCd','ab',1,1,'i')no,regexp_substr('AbCd','ab',1,1)yfromdual;
NOY
---
Ab
c------->该修饰服用于指定区分大小写
SQL>selectregexp_substr('AbCd','ab',1,1,'c')no,regexp_substr('AbCd','ab',1,1,'i')yfromdual;
NY
---
Ab
n------->该修饰符用于指定.(小数点)匹配新行符理解(就是以小数点来告当有空格时候换行)chr(10)空格换行
SQL>selectregexp_substr('a'||chr(10)||'b','a.b',1,1)fromdual;
R
-
SQL>selectregexp_substr('a'||chr(10)||'b','a.b',1,1,'n')fromdual;
REG
---
a
b
m----->该修改符用于指定执行多行模式所搜^表示行的开始$表示行的结束
SQL>selectregexp_substr('ab'||chr(10)||'ac','^a.',1,2,'m')fromdual;
RE
--
ac
SQL>selectregexp_substr('ab'||chr(10)||'ac','^a.',1,2)fromdual;
R
-
x------>用于指定忽略空格符
SQL>selectregexp_substr('abcd','abcd',1,1,'x')fromdual;
REGE
----
SQL>selectregexp_substr('abcd','abcd',1,1,'x')fromdual;
R
-
SQL>selectregexp_substr('abcd','abcd',1,1)fromdual;
REGEXP_
-------
abcd
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 18 正则 表达 字符 样式
![提示](https://static.bdocx.com/images/bang_tan.gif)