甲骨文与正则表达式regexp_like使用详细的解决方案
Oracle中支持正则表达式的函数主要有以下四种:
1、regexp_like:类似的功能,如
2、regexp_instr:类似于仪器的功能
3、regexp_substr:类似于substr函数
4、regexp_replace:类似功能的替代
他们是在用同样的方式为Oracle的SQL函数一样,仪器,substr,代替使用。
但他们使用正则表达式来替换旧的POSIX的百分比(%)和通配符(_)。
POSIX正则表达式是由标准的元字符(字符)。
输入字符串的开始位置,在表达式的方括号中使用,表示它不接受字符集。
在输入字符串的末尾,'$'位置。如果RegExp对象的Multiline属性设置,$也匹配
/ / R n'or。
匹配任何单个字符,除了换行符以外的。
匹配前面的子表达式零次或一次。
+,在子表达式一次或多次前。
*匹配前面的子表达式零次或多次。
| 'specified选择两项。例如^({ } { } | 0-9 A-Z + +)$代表所有小写字母或数字组合成的
字符串 u3002
()标记子表达式的开始和结束。
{ } 'marking括号表达式。
{m,n} 'frequency方位的精确数m = <,<= n,m{ }M{ }M说,至少
M次出现。
与数字匹配,其中数字为正整数。
特征聚类:
任何字母:alpha:}。
任何数字:数字:}。
不alnum:} }任何字母和数字。
不是空格:}任何白色字符。
不是大写的:}大写字母。
不低于:}任何小写字母。
不穿刺:} }任何标点符号。
不xdigit:} }任何16进制数,相当于0-9a-fa-f } {。
各运营商的经营优先权
转义字符
()、(=)、(=)}、括号和括号
*,+,{,},{,},{,n,}限定符
^,美元,anymetacharacter位置和顺序
* /
-创建表
创建表的诺昕壹
(
ID varchar(4),
价值varchar(10)
);
数据插入
插入诺昕壹值
(1,'1234560);
插入诺昕壹值
(2,'1234560);
插入诺昕壹值
(3','1b3b560);
插入诺昕壹值
(4,ABC);
插入诺昕壹值
(5','abcde);
插入诺昕壹值
(6,'adreasx);
插入诺昕壹值
(7','123 45);
插入诺昕壹值
(8,'adc德);
插入诺昕壹值
(9,'adc,。De);
插入诺昕壹值
(10','1b);
插入诺昕壹值
(10','abcbvbnb);
插入诺昕壹值
(会的,'11114560);
插入诺昕壹值
(会的,'11124560);
——regexp_like
-以1开头60和7位长度查询值记录。
SELECT * FROM诺昕壹值像'1____60;
SELECT * FROM诺昕壹在regexp_like(价值1的…60);
-以1开头60和7位长度和所有数字查询值记录。
-用的不是很好。
SELECT * FROM诺昕壹在regexp_like(价值1 { 0-9 } { 4 } 60);
还可以使用字符集来完成这项工作。
SELECT * FROM诺昕壹在regexp_like(价值1 { {:数字:} } { 4 } 60);
-查询值中不是纯数字的记录
SELECT * FROM诺昕壹不regexp_like(价值,^ { {:数字:} } + $ ');
-查询不包含任何数字的值记录。
SELECT * FROM诺昕壹在regexp_like(价值,^ { ^ {:数字:} } + $ ');
-在12或1b开始时查询记录,不区分大小写。
SELECT * FROM诺昕壹在regexp_like(价值,^ 1 { 2b }、我);
-在12或1b开始查询记录。
SELECT * FROM诺昕壹在regexp_like(价值,^ 1 { 2b });
-查询数据包含一个空白记录。
SELECT * FROM诺昕壹在regexp_like(价值,{ } } {:空间:');
-查询包含小写字母或数字的所有记录。
SELECT * FROM诺昕壹在regexp_like(价值,^({ } { } | 0-9 A-Z + +)$);
-查询包含标点符号的任何记录。
SELECT * FROM诺昕壹在regexp_like(价值,{ } } {:穿刺:');
*
理解它的语法是可以的,其他函数的用法是相似的。
* /