码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2019-10-28 19:01:12      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:sql   UNC   奇数   标点符号   acl   regexp   字符   数据   space   

. 匹配除换行符之外的任意字符
? 匹配前面的子表达式零次或一次
+ 匹配前面的子表达式一次或多次
* 匹配前面的表达式零次或多次

^ ^abc,匹配以abc开头的字符串
$ abc$,匹配以abc结尾的字符串

[] 字符集合中任一个

[[:alpha:]] 任何字母
[[:digit:]] 任何数字
[[:space:]] 任何白字符(空格、制表符)
[[:punct:]] 任何标点符号
[[:lower:]] 任何小写字母
[[:upper:]] 任何大写字母
[[:punct:]] 任何标点符号

mysql:rlike
字母不区分大小写

--查找以a开头的姓名
select * from stu
where name rlike ‘^a‘;

--找到以字母开头姓名
select * from stu
where name rlike ‘^[a-z]‘;

--以数字开头
select * from stu
where name rlike ‘^[0-9]‘;

Oracle:
where regexp_like(字段,正则表达式)
字母区分大小写

--找到以小写字母开头的
select * from stu
where regexp_like(name,‘^[a-z]‘);:

--找到以大写字母开头的
select * from st
where regexp_like(name,‘^[A-Z]‘);

--找到以字母开头并且以字母结尾(包含单个字母)
select * from stu
where regexp_like(name,‘^[a-z,A-Z].*[a-z,A-Z]$‘) or regexp_like(value,‘[a-z,A-Z]‘);

--找到字符串只包含字母
select * from exp
where regexp_like(value,‘^[a-z,A-Z]*$‘);

.在数据中查找仅仅包含数字的数据
select * from exp
where regexp_like(value,‘^[0-9]*$‘);

select * from exp
where regexp_like(value,‘^[[:digit:]]*$‘);

.在数据中查找包含标点符号的数据
select * from exp
where regexp_like(value,‘[[:punct:]]‘);

.在数据中查找以字母开头,数字结尾的数据
select * from exp
where regexp_like(value,‘^[a-z,A-Z].*[0-9]$‘);

.在数据中查找以字母开头,字母结尾并包含数字的数据
select * from exp
where regexp_like(value,‘^[a-z,A-Z]‘) and regexp_like(value,‘[0-9]+‘) and regexp_like(value,‘[a-zA-Z]$‘);

.在数据中查找全为大写字母的数据
select * from exp
where regexp_like(value,‘^[[:upper:]]*$‘);

.在数据中查找以数字开头,并包含小写字母的数据
select * from exp
where regexp_like(value,‘^[0-9]‘) and regexp_like(value,‘[[:lower:]]+‘)

.在数据中查找仅仅包含数字、空格和字母的数据
select * from exp
where regexp_like(value,‘[0-9]+‘)
and regexp_like(value,‘[ ]+‘)
and regexp_like(value,‘[a-zA-Z]+‘);

select * from exp
where regexp_like(value,‘^[a-zA-Z0-9 ]+$‘)

select * from exp
where regexp_like(value,‘^[a-zA-Z0-9 ]+$‘)
and regexp_like(value,‘[0-9]+‘)
and regexp_like(value,‘[ ]+‘)
and regexp_like(value,‘[a-zA-Z]+‘);

.在人员表中查找人员编号为奇数的人
select * from emp
where empid like ‘%1‘ or empid like ‘%3‘
or empid like ‘%5‘ or empid like ‘%7‘
or empid like ‘%9‘;

select * from emp
where regexp_like(empid,‘^[13579]$‘);

正则表达式

标签:sql   UNC   奇数   标点符号   acl   regexp   字符   数据   space   

原文地址:https://www.cnblogs.com/TD1900/p/11754330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!