zoukankan      html  css  js  c++  java
  • Mysql sql声明召回2 --正则表达式

    这里简单回顾mysql在过滤后的数据使用正则表达式时。主要利用每方法将样品,或添加一些简短的说明。

    下面说说提前,使用正则表达式是用来过滤数据 REGEXPkeyword


    基本字符相匹配:

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘1000’;

    该查询语句的意思是prod_name字段中包括1000的数据,仅仅要值中的不论什么部位包括1000都能够

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘.000’。

    "."代表的是单个字符的通配符。相当于不论什么单个字符。类似LIKE中的通配符"_"一样。该语句的意思是查询处prod_name字段中包括诸如1000,2000,或者随意一个字符后边跟上000的数据


    进行OR匹配:

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘1000|2000’;

    在这里“|”代表or的意思,也就是“或”的意思。该语句会吧prod_name字段中包括1000或者包括2000或者两个都包括的数据查询出来。or匹配能够给出两个以上的匹配项比如 1000|2000|3000


    匹配几个字符之中的一个:

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘[123] Ton’;

    []括起来的部分表示匹配当中一个比如 1 Ton 。2 Ton 这样


    匹配范围:

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘[1-9] Ton’;

    假设在上一个样例中[]括起来的部分的字符比較长。并且都是数组,并且数字又是连续的话,能够改成范围匹配,这样sql语句会更加简短一点,当然能够把[1-9]换成[123456789]。假设是字母的话但是使用[a-z]这种方式


    匹配特殊字符:

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘\.’;

    在mysql中要匹配特殊字符的话须要加上//转义一下才干够,由于特殊字符在sql语句中有特殊的含义


    匹配多个实例:

    首先须要介绍几个匹配字符

    * 0个或者多个匹配

    + 一个或者多个匹配(等于{1,})

    ?

    0个或者一个匹配(等于{0,1})

    {n} 指定数目的匹配

    {n,} 不少于指定数目的匹配

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

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘\([0-9] sticks?\)’;

    在该语句中?匹配它前面的不论什么字符的0次或者一次出现


    定位符:

    ^ 匹配文本的開始

    $ 匹配文本的结尾

    [[:<:]] 词的開始

    [[:>:]] 词的结尾

    SELECT prod_name FROM products WHERE prod_name REGEXP ‘^[0-9\.]’;

    匹配字符串的意思只是要.而对于数据的开始的任意数字被查询

    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    密码保护
    实现搜索功能
    完成个人中心—导航标签
    个人中心标签页导航
    评论列表显示及排序,个人中心显示
    完成评论功能
    从首页问答标题到问答详情页
    首页列表显示全部问答,完成问答详情页布局
    Android基础学习:Android环境搭建
    liunx 硬盘分区
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4643094.html
Copyright © 2011-2022 走看看