zoukankan      html  css  js  c++  java
  • mysql的REGEXP 和like的详细研究和解释

    1

            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
    
  • 相关阅读:
    python pandas里面的一些函数及用法
    Python enumerate() 函数
    论文笔记:EPTD模型/ Efficient and Privacy-Preserving Truth Discovery in Mobile Crowd Sensing Systems
    论文笔记:Adversarial Attacks and Defenses in Deep Learning 对抗训练部分
    一周入门Linux 基础篇 虚拟机快照
    一周入门Linux 基础篇 虚拟机克隆
    一周入门Linux 基础篇 网络连接的三种方式
    一周入门Linux 基础篇 安装vm和Centos
    B站考研网课推荐
    关于我
  • 原文地址:https://www.cnblogs.com/legend-song/p/4125673.html
Copyright © 2011-2022 走看看