正则表达式

Posted td1900

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。

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

^ ^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]$‘);

以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

PHP 正则表达式总结

正则表达式

正则表达式

正则表达式“或“的使用

正则表达式 验证数字格式 非负数 小数点后保留两位 数字正则 double正则

JS正则表达式详解