• mysql之正则表达式的用法


    正则表达式用来匹配文本的特殊字符集合

    格式:在where查询中使用regexp关键字,后面接正则表达式字符

    正则表达式与like的区别

    like匹配整列数据

    regexp可以匹配列中任意位置的字符,更加灵活,更强大。

    用like模糊匹配,查询字段里面有包含某个字符的数据,下面这里例子中,匹配token列包含2d3的所有数据

    上面的包含匹配,我们使用正则也可以实现

    使用" | "来匹配,表示或者的意思。匹配两个字符2d3或者b2,都会查找出来

    匹配一个范围,[1-9]表示匹配1到9之间的任意一个数字,[a-z]表示匹配a到z之间的任意一个字符

    使[ ] ,匹配几个字符中的任意一个,只要包含c或者包含e都会查找出来

     

    只要包含1到3之间 的数据都会查找出来

    语法错误,因为这种写法是错误的,程序会当成1或者,2到1,或者3,所以无法执行报错了

     包含2,或者4到6之间的数据

     我们知道mysql是不区分大小的,那我们有时候需要只查找到大写的某些字符,怎么办呢

     加上binary之后,区分大小写,这里写成小写的rb就查找不出来

     NOT取反,只要不是大写RB的,全部都会查找出来

    再看一组例子,包含fc后面跟4或者5或者6的都会查找出来

    下尖括号 ^ 的用法,不匹配几个字符中的任意一个

    下面例子fc后面不包含4或者5或者6的全部查找出来,这个下尖括号是对4或5或6的否定,所以fc后面跟b和8的所有行都查找出来了。

     

    这里的NOT是对整个正则匹配到的数据否定, 只要不是fc后面跟456的全部查找出来

    查找出连在一起的七位数(任意数)

    匹配以fc开头的所有的数据

     匹配以ba结尾的所有数据

    一个一个写太累了,下面整理一下找了找别人整理好的,用法都是和上面一样的,可以参考 

    匹配字符类

     下面是来自菜鸟教程的正则匹配描述

  • 相关阅读:
    【杭电】[1874]畅通工程续
    【杭电】[2544]最短路
    【杭电】[1087]Super Jumping! Jumping! Jumping!
    【HPU】[1689]MZY寻宝
    【杭电】[1495]非常可乐
    【杭电】[1242]Rescue
    【杭电】[1787]GCD Again
    【算法】欧拉函数——小于n的数中与n互质数的数目
    【HPU】[1738]Stack ? Queue ?
    【HPU】[1737]老王特警队
  • 原文地址:https://www.cnblogs.com/king2/p/13625284.html
Copyright © 2020-2023  润新知