MySQL之——正则表达式

 正则表达式 

        regexp操作符,regexp操作符后面跟着的就是正则表达式,正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较。

like和regexp的区别

        like匹配整个列,如果被匹配的文本仅在列值中出现(没有配合其他通配符),like将不会找到他。regexp在列值内进行匹配,如果被匹配的文本在列值中出现,regexp将会找到它,相应的行将被返回。

举个例子:假设有一个表number表中的数据如下

select n from number where n like '1234';
#显示n = '1234'的三组数据 不会显示 n = '123456789'

select n from number where n regexp '1234';
#全都显示

匹配单个实例

  • | :表示匹配其中之一,使用 | 功能上类似or
  • [ ] :匹配字符之一,[ ] 是另一种形式的or语句。[123]为[1|2|3]的缩写
  • [ - ] :匹配范围,使用-来定义一个范围。例如[1 - 3],[a - z]
  • \\ :转义字符,多数正则表达式使用单个反斜杠作为转义字符,但是MySQL要求两个反斜杠(MySQL自己解释一个,正则表达式自己解释一个)
  • 匹配字符类 : 存在找出你自己经常使用的数字,所有字母符或所有数字字母字符等的匹配。为更方便工作,也可以使用预定义的字符集,称为字符类
说明
[[:alnum:]]任意字母和数字,同[a - z A- Z 0 -9]
[[:alpha:]]任意字符,[a - z A - Z]
[[:blank:]]空格和制表[ \\t ]
[[:cntrl:]]ASCII控制字符  ASCII 0到31和127
[[:digit:]]任意数字 [0 - 9]
[[:graph:]]与[:print:]相同,但不包括空格
[[:lower:]]任意小写字母
[[:print:]]任意可打印字符
[[:punct:]]不在[[:alnum:]]和[[:cntrl:]]的字符
[[:space:]]包括空格在内的任意空白字符         [\\f\\n\\r\\t\\v]
[[:upper:]]任意大写字母
[[:xdigit:]]任意十六进制数字                        [a - f A - F 0 - 9]

匹配多个实例

  • 常用元字符
元字符说明
.匹配任意字符
^匹配字符串的开始,^在  [  ]中表示否定
$匹配字符串的结束

  • 重复元字符
元字符说明
*0个或多个匹配
+一个或多个匹配(等于{1,})
0个或一个匹配(等于{0,1})
{n}指定数目匹配
{n,}不少于指定数目的匹配

{n,m}

匹配数目的范围  m不超过255

注意元字符是和其后面字符匹配

*n 就是0个或多个n

select 'fofo' regexp '^f.*$';    #  1
select 'fofo' regexp '^fo$';     #  0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
《精通正则表达式》是系统学习正则表达式的唯一最权威著作。任何时候,任何地方,只要提到正则表达式著作,人们都会提到这本书。该书质量之高,声誉之盛,使得几乎没有人企图挑战它的地位,从而在正则表达式图书领域形成了独特的“一夫当关”的局面,称其为正则表达式圣经,绝对当之无愧。                        ——《程序员》杂志技术主编 孟岩   本书讲解正则表达式,这种工具能够提高工作效率、让生活变得更轻松。精心调校后的正则表达式只需要十多秒就能完成以前数小时才能完成的枯燥任务。如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB.NET和c#(以及.NET Framework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本处理。   《精通正则表达式(第3版)》包含了对PHP及其正则表达式的讲解。这一版的更新也反映了其他语言的发展,深入讲解了Sun的java.util.regex,并特别提到了Java 1.4.2和Java 1.5/1.6之间的众多差异。   本书的内容:   ·各种语言和工具的功能比较   ·正则引擎的工作原理   ·优化(能节省大量的时间)   ·准确匹配期望的文本   ·针对具体语言的章节   《精通正则表达式(第3版)》,以明晰轻松的笔调向程序员深入浅出地讲解复杂的知识,并给出了现实世界中复杂问题的解决办法,读者能够立刻运用书中丰富的知识,巧妙而高效地解决各种问题。 此书为英文版,因为中文版比较大,要下次下载;
本书为英文版。 Jeffrey E. F. Friedl 著 本书讲解正则表达式,这种工具能够提高工作效率、让生活变得更轻松。精心调校后的正则表达式只需要十多秒就能完成以前数小时才能完成的枯燥任务。如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MySQL、VB.NET和C#(以及.NET Framework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本处理。 《精通正则表达式(第3版)》包含了对PHP及其正则表达式的讲解。这一版的更新也反映了其他语言的发展,深入讲解了Sun的java.util.regex,并特别提到了Java 1.4.2和Java 1.5/1.6之间的众多差异。 本书的内容: ● 各种语言和工具的功能比较 ● 正则引擎的工作原理 ● 优化(能节省大量的时间) ● 准确匹配期望的文本 ● 针对具体语言的章节 《精通正则表达式(第3版)》,以明晰轻松的笔调向程序员深入浅出地讲解复杂的知识,并给出了现实世界中复杂问题的解决办法,读者能够立刻运用书中丰富的知识,巧妙而高效地解决各种问题。 “如果你的工作需要用到正则表达式(即便你已经有本很不错的关于开发语言的书),我还是要向你强烈推荐本书。” ——Dr.Chris Brown, Linux Format “毫不夸张地说,《精通正则表达式(第3版)》是学习该工具的不二选择,也是每个程序员必备的杰作。” ——Jason Menard, Java Ranch “所有关于正则表达式的书中,找不到比这更好的了。” ——Zak Greant, Planet PHP
《精通正则表达式(第3版)》讲解正则表达式,这种工具能够提高工作效率、让生活变得更轻松。精心调校后的正则表达式只需要十多秒就能完成以前数小时才能完成的枯燥任务。如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB-NET和c#(以及.NETFramework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本处理。十年三版,再显王者风范,近30年开发经验的智慧结晶,深入理解正则表达式,彻底修炼基本功,全球第一本全面深入讲解正则表达式的经典巨著,《程序员》杂志技术主编孟岩鼎力推荐。 专家点评:《精通正则表达式》是系统学习正则表达式的唯一最权威著作。任何时候,任何地方,只要提到正则表达式著作,人们都会提到这本书。该书质量之高,声誉之盛,使得几乎没有人企图挑战它的地位,从而在正则表达式图书领域形成了独特的“一夫当关”的局面,称其为正则表达式圣经,绝对当之无愧。 ——《程序员》杂志技术主编孟岩 《精通正则表达式(第3版)》包含了对PHP及其正则表达式的讲解。这一版的更新也反映了其他语言的发展,深入讲解了Sun的java.util.regex,并特别提到了Java1.4.2和Java1.5/1.6之间的众多差异。 本书的内容: ·各种语言和工具的功能比较 ·正则引擎的工作原理 ·优化(能节省大量的时间) ·准确匹配期望的文本 ·针对具体语言的章节 《精通正则表达式(第3版)》,以明晰轻松的笔调向程序员深入浅出地讲解复杂的知识,并给出了现实世界中复杂问题的解决办法,读者能够立刻运用书中丰富的知识,巧妙而高效地解决各种问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coke_3.2.2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值