MySQL必知必会(四)之正则表达式

正则表达式一般规则

'*':0个或者多个

'+':1个或者多个,相当于{1,}

'?':0个或者1个,相当于{0,1}

'{n}':指定数目的匹配

'{n,}':不少于指定数目的匹配

'{n,m}':指定范围内数目的匹配

'.' :任意字符

'^a':必须以a开始

'b$':必须以b结束

'|':或 的关系

'[abc]':a,b,c中的任意一个

'[^123]':匹配1,2,3之外的任何

'[0-9]':相当于匹配[0123456789]

'[a-z]':匹配任意小写字母字符

'\\':进行转义(escaping)

'\\\':匹配'\字符本身    大多数正则表达式使用一个\便可以实现转义,但是在MySQL中需要两个(MySQL自己解释一个,正则表达式库需要一个)

MySQL仅支持多数正则表达式实现的一个很小的子集。

基本使用

LIKE 和 REGEXP 的区别:

1 SELECT student.sname FROM
2 student WHERE student.sname REGEXP 'a'
3 
4 SELECT student.sname FROM
5 student WHERE student.sname LIKE '%a%'

区分大小写:使用BINARY关键字

1 SELECT student.sname FROM
2 student WHERE student.sname REGEXP BINARY '^a.*c$'

 

posted @ 2018-12-02 22:29  azouever  阅读(156)  评论(0编辑  收藏  举报