zoukankan      html  css  js  c++  java
  • mysql 正则表达式 regexp

    http://www.zytrax.com/tech/web/regex.htm   Regular Expressions - User Guide

    1. 关键字 regexp等于rlike

    http://www.sqlines.com/mysql/regexp_rlike MySQL - REGEXP, RLIKE - Guide, Examples and Alternatives

    这两条相同:

    select * from users where name regexp ''
    select * from users where name rlike  ''

    2. like 和rlike区别

    这两条返回不一样,like匹配整个字串,rlike是匹配部分。

    select * from users where name rlike  ''
    select * from users where name like  ''

    rlike的返回结果是这样

    而like的返回结果是空,因为没有人叫‘傻’。

    3. 正则表达式

    (1). 点号:匹配任意一个字符

    (2)| 竖杠:or 两个或多个的选择

    select * from users where name rlike  '笨|傻|二'

    (3)[] 方框:匹配几个字符之一。其实和竖杠一样的

    select * from users where name rlike  '[123]'

    其实这条就是竖杠的省略,上下这3条是一样的,方框的作用当表达式复杂才能体现。

    select * from users where name rlike  '[1|2|3]'
    select * from users where name rlike  '1|2|3'

    还可以是范围

    select * from users where name rlike  '[1-3]'

    (4)\\两个反斜杠:为特殊字符转义(escaping)

    查找名字中带“.”的

    select * from users where name rlike  '\\.'

    (5) 匹配类型

    [:alnum:] 任意数字字母,同[a-zA-Z0-9]

    [:alpha:] 任意字母,同[a-zA-Z]

    [:digit:] 任意数字,同[0-9]

    [:print:] 任意可打印字符

    [:graph:] 同[:print:],但不包括空格

    [:space:] 空格等任意空白字符,同[\\f\\n\\r\\t\\v]

    (6) 重复元字符

    *     0个或多个匹配(*号前面)

    +    1个或多个匹配,等于{1,}

    ?    0个或1个匹配,等于{0,1}

    {n}  指定书目匹配

    {n,} 不少于n次的匹配

    {n,m} 匹配数目的范围(m不超过255)

    例子

    select * from users where name rlike 'apples?'  #匹配apple或apples
    select * from users where name rlike '[[:digit:]]{4}'  #匹配四个连续的数字

    (7) 定位元字符

    ^    文本的开始(字符在后面)

    select * from users where name rlike '^傻'

    $  文本的结尾(字符在前面)

    select * from users where name rlike 'n$'

     (8)

    ‘/s’ 匹配间隔符

    即匹配空格符、制表符、回车符等表示分隔意义的字符,它等价于[ /t/r/n/f/v]。(注意最前面有个空格)

    ‘/S’ 匹配非间隔符

    即间隔符的补集,等价于[^ /t/r/n/f/v]

    4. 测试正则表达式

    不需要使用数据表

    select 'hello'  rlike '[a-z]'
  • 相关阅读:
    053467
    053466
    053465
    NC201613 Jelly
    NC14608 after与迷宫
    NC14572 走出迷宫
    340. 通信线路
    1135. 新年好
    903. 昂贵的聘礼
    P5767 [NOI1997]最优乘车
  • 原文地址:https://www.cnblogs.com/phoenix13suns/p/2831155.html
Copyright © 2011-2022 走看看