首页 > MySQL的正则表达式

MySQL的正则表达式

1.  Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符、字符串。 
例如:select * from wp_posts where post_name REGEXP 'hello',可以检索出列post_name中所有包含hello的行 REGEXP '.og'  .是正则表达式中里一个特殊的字符。它表示匹配一个字符,因此,dog,hog,mog等等都能匹配。注意: 关于LIKE和REGEXP的区别:LIKE匹配整个列。如果被匹配的文本仅在列值中出现,LIKE并不会找到它,相应的行也不会返回(当然,使用通配符除外)。而REGEXP在列值内进行匹配,如果被匹配的匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回,这时一个非常重要的差别(当然,如果适应定位符号^和$,可以实现REGEXP匹配整个列而不是列的子集)。 关于大小写的区分:MySQL中正则表达式匹配(从版本3.23.4后)不区分大小写 。如果要区分大小写,应该使用BINARY关键字,如where post_name REGEXP BINARY 'Hello .000'2.关于OR匹配 为了搜索两个串之一,使用|, 如,select * from products where pro_id REGEXP '1000|2000'  ORDER BY pro_id; 这样就1000和2000都能匹配并返回,当然,使用多个|就可以匹配多个串3.只是匹配几个字符[] 例如,这样将要匹配[0123456789]可以匹配0到9,[1-4][4-9]也是合法的范围。此外,范围不一定只是数值的,[a-z]匹配任意字母字符 如:SELECT prod_name FROM products WHERE prod_name REGEXP '[1-5] Ton' ORDER BY prod_name;4.匹配特殊字符使用进行转义 \.能够匹配. \f换页 \n换行 \r回车 \t制表 \纵向制表注意:为了匹配本身,需要使用\5.匹配字符类 [:alnum:]    任意字母和数字(通[a-zA-Z0-9]) [:alpha:]     任意字符(同[a-zA-Z]) [:blank:]    空格和制表符(同[\t]) [:digit:]     任意数字(同[0-9]) [:lower:]  任意小写字母 [:upper:]   任意大写字母 [:space:]   包括空格在内的任意空白字符6.匹配多个实例,关于重复元字符 
*      0个或者多个匹配 
+     1个或者多个匹配(等于{1,}) 
?     1个或者多个匹配(等于{ 0,1}) 
{n}    指定数目的匹配 
{n,}   不少于指定数目的匹配 
{n,m}    匹配数目的范围(m不超过255)例子:  select prod_name from products where prod_name REGEXP '[[:DIGIT:]]{4}'   ,如前所述,[:digit:]匹配任意数字,因而它为数字的一个几何。[[:digit:]]{4}匹配连在一起的任意4位数字,当然,上面的例子也可以这样写REGEXP '[0-9][0-9][0-9][0-9]'7.定位符 
^  文本的开始 
&  文本的结尾 
[[:<:]]   词的开始 
[[:>:]]   词的结尾 
通过使用这些定位符,能够使REGEXP起类似LIKE的作用

 

转载于:https://www.cnblogs.com/loveyouyou616/archive/2012/12/11/2812338.html

更多相关:

  • 现在,WEB系统的开发一般都采用前后端分离的架构,以及部分公司采用“前台-中台-后台“的组织架构,难免会出现开发进度不一致的情况,导致系统联调或测试需要等到所有依赖开发完成后才能够进行,为不影响软件开发、测试进度,消除等待浪费,因此引入了Mock服务。本文主要介绍的Mock工具是Wiremock(一种开源的测试工具,Mock工具有很多...

  • UE商城资源 Motion Symphony 运动匹配插件 Unreal Engine虚幻游戏引擎素材资源 Unreal Engine Marketplace –Motion Symphony 1.05 4.26运动交响曲插件 插件大小解压后:346M 资源大小共 2G 含官方文档 和官方使用视频教程(共100分钟 1920X...

  • 原文地址:http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html 正则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设...

  • MQTT topic匹配规则 原文连接: https://blog.csdn.net/JiangCheng817/article/details/81333893 内容: 主题层级分隔符 “/”: 表示层级关系 单层通配符 “+”: 订阅消息时使用,匹配一层主题如 a/+ 匹配诸如 a/b a/c 但是不能匹配 a/b/c,特...

  •  1.特殊字符 ^匹配输入字符串的开始位置$匹配输入字符串的结尾位置( )标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )。* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。+匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +。?匹配前面的子表达式零次或一次...

  • 1. 三字母词 在C语言中有一种三字母词的说法,trigraph sequences,目前为止有九种三字母词,如下 ??=               #                  ??)            ]                  ??!           |         ??(      ...

  • 题目:   请你来实现一个 atoi 函数,使其能将字符串转换成整数。   首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。   当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组...

  • 联考考试考到了这个题,随机化40分,现在来秒掉它吧。   题意: 给一个字符串,求其中的一段,使得出现次数最多的字符与出现次数最少的字符的出现次数之差最大。 输入输出样例 输入样例#1: 复制 10 aabbaaabab 输出样例#1: 复制 3   我们定义$cnt[i][j]$表示区间$[1,i]$中,j出现的次数, 定义...

  • 本推文主要识别的验证码是这种:第一步: 二值化所谓二值化就是把不需要的信息通通去除,比如背景,干扰线,干扰像素等等,只剩下需要识别的文字,让图片变成2进制点阵。第二步: 文字分割为了能识别出字符,需要对要识别的文字图图片进行分割,把每个字符作为单独的一个图片看待。第三步: 标准化对于部分特殊的验证码,需要对分割后的图片进行标准化处理,...

  •   源字符串: a a 1 ~`!@#$%^&()_+-={}[];',.- + 编码后: a%20a%201%20~%60%21@%23$%25%5E&%28%29_+-=%7B%7D%5B%5D;%27,.-%20+   源字符串: 变 ~!@#¥%…………&()——+=-·{}:“;‘、《》?,。、-+A a 1 编码后:...