甲骨文正则表达式

<强> 它们在用法上与Oracle SQL函数,INSTR, SUBSTR和替换用法相同,
但是它们使用POSIX正则表达式代替了老的百分号(%)和通配符(_)字符。
POSIX正则表达式由标准的元字符(元字符)所构成:
' ^ '匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。
' $ '匹配输入字符串的结尾位置。如果设置了正则表达式对象的多行属性,则美元也匹
配‘/n’或‘/r’。
'。“匹配除换行符之外的任何单字符。
?的匹配前面的子表达式零次或一次。
' + '匹配前面的子表达式一次或多次。
' * '匹配前面的子表达式零次或多次。
' | '指明两项之间的一个选择。例子" ^ [a - z] + |[0 - 9] +)美元的表示所有小写字母或数字组合成的
字符串。
()的标记一个子表达式的开始和结束位置。
“[]”标记一个中括号表达式。
' {m, n}的一个精确地出现次数范围,m=& lt;出现次数& lt;=n,“{m}”表示出现m次,“{m}’表示至少
出现m次。
/num匹配num,其中矿工工会是一个正整数。对所获取的匹配的引用。
字符簇:
[[:α:]]任何字母。
[[数位:]]任何数字。
[[: alnum:]]任何字母和数字。
[[:空间:]]任何白字符。
[[:上:]]任何大写字母。
[[:低:]]任何小写字母。
[[: punct:]]任何标点符号。
[[: xdigit:]]任何16进制的数字,相当于[0-9a-fA-F]。
各种操作符的运算优先级
/转义符
(),(?),(?=),[]圆括号和方括号
*, +, ?, {n}, {n}, {n, m}限定符
^,美元,anymetacharacter位置和顺序

*/
<强>——创建表
create table fzq
(
,id varchar (4),
,价值varchar (10)
);
<强>——数据插入
插入fzq值
(' 1 ', ' 1234560 ');
插入fzq值
(' 2 ', ' 1234560 ');
插入fzq值
(' 3 ', ' 1 b3b560 ');
插入fzq值
(' 4 ', ' abc ');
插入fzq值
(' 5 ', '中的');
插入fzq值
(' 6 ', ' ADREasx ');
插入fzq值
(' 7 ', ' 123,45’),
插入fzq值
(“8”、“adc 德”);
插入fzq值
(' 9 ', ' adc, .de ');
插入fzq值
(‘10’,‘1 b);
插入fzq值
(‘10’,‘abcbvbnb);
插入fzq值
(' 11 ', ' 11114560 ');
插入fzq值
(' 11 ', ' 11124560 ');
的——regexp_like
——查询值中以1开60头结束的记录并且长度是7位
select * from fzq等价值的1 ____60 ';
select *的从fzq regexp_like(价值,“1 .... 60”);
——查询值中以1开60头结束的记录并且长度是7位并且全部是数字的记录。
——使用像就不是很好实现了。
select *的从fzq regexp_like(价值,“1 [0 - 9]{4}60”);
,也可以这样实现,使用字符集。
select *的从fzq regexp_like(价值,' 1[[数位:]]{4}60”);
——查询值中不是纯数字的记录
select *的从fzq不是regexp_like(价值,“^[[:数字:]]+ $ ');
——查询值中不包含任何数字的记录。
select *的从fzq regexp_like(价值,“^(^[数字:]]+ $ ');
——查询以12或者1 b开头的记录。不区分大小写。
select *的从fzq regexp_like(价值,“^ 1 (2 b)”,“我”),
——查询以12或者1 b开头的记录。区分大小写。
select *的从fzq regexp_like(价值,' ^ 1 (2 b) ');
——查询数据中包含空白的记录。
select *的从fzq regexp_like(价值,“[[:空间:]]”);
——查询所有包含小写字母或者数字的记录。
select *的从fzq regexp_like(价值," ^ [a - z] + |[0 - 9] +)的美元);
——查询任何包含标点符号的记录。
select *的从fzq regexp_like(价值,“[[:punct:]]”);
/*
理解它的语法就可以了。其它的函数用法类似。
*/

甲骨文正则表达式