ORACLE学习笔记系列(10)正则表达式ITeye - 千亿集团

ORACLE学习笔记系列(10)正则表达式ITeye

2019-01-11 14:54:45 | 作者: 凡灵 | 标签: 记载,查询,数字 | 浏览: 2379

--REGEXP_LIKE 与 LIKE 函数相同,回来布尔类型 REGEXP_LIKE(srcstr, pattern [,match_option]) srcstr 源字符串 pattern 正则表达式款式 match_option 匹配选项(区别大小写) 其间match_option的取值规模如下: i:大小写不灵敏; c:大小写灵敏; n:点号 . 不匹配换行符号; m:多行形式; x:扩展形式,疏忽正则表达式中的空白字符。 create table B id NUMBER, name VARCHAR2(100) --数据刺进 INSERT INTO B VALUES (1, 20140107); INSERT INTO B VALUES (2, 2014-01-07); INSERT INTO B VALUES (3, 2014-01-07 21:15:27); INSERT INTO B VALUES (4, 2014年星期二); INSERT INTO B VALUES (5, INSERT INTO B VALUES (6, weishaoxiang); INSERT INTO B VALUES (7, 吉祥如意); INSERT INTO B VALUES (8, 088-12345678); INSERT INTO B VALUES (9, weishaoxiang@163.com); INSERT INTO B VALUES (10, 1881234567); INSERT INTO B VALUES (11, M00588); INSERT INTO B VALUES (12, 297187); INSERT INTO B VALUES (13, 192.168.0.102); INSERT INTO B VALUES (14, F5-DE-F3-E7-B9-99); INSERT INTO B VALUES (15, who are you); INSERT INTO B VALUES (16, 來 時 歡 喜 去 時 悲,空在 人間 走一回。); INSERT INTO B VALUES (17, 2M00K88); INSERT INTO B VALUES (18, aaBB); INSERT INTO B VALUES (19, aaBBff); INSERT INTO B VALUES (20, GGpp); INSERT INTO B VALUES (21, LLOVEYOU); INSERT INTO B VALUES (22, ^_^ _ $@$ ); --查询以 20最初 07完毕的记载而且长度是 8位 SELECT * FROM B WHERE NAME LIKE 20____07; SELECT * FROM B WHERE REGEXP_LIKE(NAME, 20....07); --查询以 20最初 07完毕的记载而且长度是 8位,而且全部是数字的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, 20[0-9]{4}07); SELECT * FROM B WHERE REGEXP_LIKE(NAME, 20[[:digit:]]{4}07); --查询以 29 或许 2m 最初的记载,不区别大小写 SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^2[9m], i); --查询以 29 或许 2m 最初的记载,区别大小写 SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^2[M9]); SELECT * FROM B WHERE NOT REGEXP_LIKE(NAME, ^[[:digit:]]+$); -- 查询不是纯数字的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^[[:digit:]]+$); -- 查询是纯数字的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^[0-9]+$); -- 查询是纯数字的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^[^[:digit:]]+$); -- 查询不含数字的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, [[:digit:]]); -- 查询含数字的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, [0-9]); -- 查询含数字的记载 SELECT * FROM B WHERE NOT REGEXP_LIKE(NAME, ^[[:alpha:]]+$); -- 查询不是纯字母字符的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^[[:alpha:]]+$); -- 查询是纯字母字符的记载(全中文也会匹配) SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^[^[:alpha:]]+$); -- 查询不含字母字符的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, [[:alpha:]]); -- 查询含字母字符的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, [[:alnum:]]); -- 查询含字母和数字字符的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, [^[:alnum:]]); -- 查询含字母和数字字符之外其他字符的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^[^[:alnum:]]+$); -- 查询不含字母和数字字符的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, [[:blank:]]); -- 查询含空格的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, [[:space:]]); -- 查询含空格的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, [[:lower:]]); -- 查询含小写字母的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, [[:upper:]]); -- 查询含大写字母的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, [[:punct:]]); -- 查询含标点符号的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^[[:lower:]]+$); -- 查询全小写字母的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^[[:upper:]]+$); -- 查询全大写字母的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^[a-z]+$); -- 查询全小写字母的记载 SELECT * FROM B WHERE REGEXP_LIKE(NAME, ^[A-Z]+$); -- 查询全大写字母的记载
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章