mysql的REGEXP 和like的详细研究和解释

1文章来源地址https://www.yii666.com/article/764367.html文章地址https://www.yii666.com/article/764367.html网址:yii666.com<网址:yii666.com文章来源地址:https://www.yii666.com/article/764367.html

        regexp

^                         匹配字符串的开始部分

$                         匹配字符串的结束部分

.                          匹配任何字符(包括回车和新行)

a*                       匹配0或多个a字符的任何序列

a+                       匹配1个或多个a字符的任何序列

a?                       匹配0个或1个a字符

de|abc               匹配序列de或abc

(abc)*                匹配序列adc的0个或者多个实例

{n}、{m,n}        {n}或{m,n}符号提供了编写正则表达式的更通用方式,能够匹配模式的很多前述原子(或“部分”)。m和n均为整数。

a*              可被写为a{0,}

a+              可被写为a{1,}

a?              可被写为a{0,1}

[a-dX]                 匹配任何是a,b,c,d或者X的字符,两个其他字符之间的’-‘字符构成一个范围

[^a-dX]               匹配任何不是a,b,c,d或者X的字符,前面的字符’^’是否定的意思

[.characters.]  在括号表达式中(使用[和]),匹配用于校对元素的字符序列,字符为单个字符或新行等字符名

mysql> SELECT ‘~’ REGEXP ‘[[.~.]]';                                                        -> 1

mysql> SELECT ‘~’ REGEXP ‘[[.tilde.]]';                                                 -> 1

[=character_class=]

在括号表达式中(使用[和]),[=character_class=]表示等同类。它与具有相同校对值的所有字符匹配,包括它本身,

[[=a=]]              等同于[a(+)],[a+],[a{1,}]

[:character_class:]

在括号表达式中(使用[和]),[:character_class:]表示与术语类的所有字符匹配的字符类。

标准的类名称是:

alnum       文字数字字符

alpha        文字字符

blank         空白字符

cntrl          控制字符

digit          数字字符

graph        图形字符

lower        小写文字字符

print          图形或空格字符

punct        标点字符

space        空格、制表符、新行、和回车

upper        大写文字字符

xdigit        十六进制数字字符

[[:<:]], [[:>:]]

这些标记表示word边界。它们分别与word的开始和结束匹配。word是一系列字字符,其前面和后面均没有字字符。字符是alnum类中的字母数字字符或下划线(_)。

mysql> select ‘fang shan zi’ regexp ‘[[:<:]]shan[[:>:]]';             -> 1

mysql> select ‘fang shan zi’ regexp ‘[[:<:]]fang[[:>:]]';              -> 1

mysql> select ‘fang shans zi’ regexp ‘[[:<:]]shan[[:>:]]';           -> 0

正则表达式使用特殊字符,应在其前面加上2个反斜杠’\’字符

mysql> SELECT ‘1+2′ REGEXP ‘1+2′;                       -> 0

mysql> SELECT ‘1+2′ REGEXP ‘1\+2′;                      -> 0

mysql> SELECT ‘1+2′ REGEXP ‘1\\+2′;                     -> 1

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png