zoukankan      html  css  js  c++  java
  • mysql RLIKE REGEXP正则匹配

    like 匹配

    常用通配符:% 、_ 、escape

     % : 匹配0个或任意多个字符
     ​
     _ : 匹配任意一个字符
     ​
     escape : 转义字符,可匹配%和_。如SELECT * FROM table_name WHERE column_name LIKE '/%/_%_' ESCAPE'/'

    RLIKE REGEXP正则匹配

    常用通配符:. 、* 、 [] 、 ^ 、 $ 、{n}

     . : 匹配任意单个字符
     * : 匹配0个或多个前一个得到的字符
     [] : 匹配任意一个[]内的字符,[ab]*可匹配空串、a、b、或者由任意个a和b组成的字符串。
     ^ : 匹配开头,如^s匹配以s或者S开头的字符串。
     $ : 匹配结尾,如s$匹配以s结尾的字符串。
     {n} : 匹配前一个字符反复n次。

    注意:

    1. 在MySQL中,like、rlike和regexp都不区分大小写,如果需要区分,可以在WHERE后添加关键字段binary

    2. like是完全匹配。rlike和regexp是不完全匹配,只要不同时匹配^和 $, 其他的包含即可。如 ^ba可以匹配baaa和baab,a也可以匹配baaa和baab,但是^bab$不能匹配baab。

    语法

     
    str rlike re表达式
     比如:
     SELECT 'Tweet' REGEXP '^Tw.*t$';
     SELECT 
       'Twet' REGEXP '^Tw.t$' AS 'Twet',
       'Twit' REGEXP '^Tw.t$' AS 'Twit',
       'Twt' REGEXP '^Tw.t$' AS 'Twt',
       'Tw.t' REGEXP '^Tw.t$' AS 'Tw.t';
     +------+------+-----+------+
     | Twet | Twit | Twt | Tw.t |
     +------+------+-----+------+
     |    1 |    1 |   0 |    1 |
     +------+------+-----+------+
  • 相关阅读:
    洛谷 P1213 时钟 &&IOI 1994 The Clocks
    P1457 城堡 The Castle
    [USACO08OCT]牧场散步Pasture Walking
    洛谷 P1262 间谍网络
    [USACO09DEC]牛收费路径Cow Toll Paths
    1266: [AHOI2006]上学路线route
    1093: [ZJOI2007]最大半连通子图
    洛谷 P3797 妖梦斩木棒
    1821: [JSOI2010]Group 部落划分 Group
    2019中国产业互联网领袖峰会(上海)
  • 原文地址:https://www.cnblogs.com/forforever/p/13019568.html
Copyright © 2011-2022 走看看