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$'
程序源于生活,也会有多姿多彩,也会有人情世故,这是感受;
莫道君行早,更有君行早,这是鞭策;
每一个努力的你,都可以凯旋,这是期望。