概述

正则表达式和MySQL有何关系?正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较。MySQL用where子句对正则表达式提供了初步的支持,允许你指定正则表达式,过滤select检索出的数据。

表达式语法

基本字符匹配

基本语法如下所示:

select prod_name from products where prod_name regexp '1000'

上面的语句作用是检索列prod_name中包含文本1000的所有行。

select prod_name from products where prod_name regexp '.000'

上面的语句中的.是正则表达式语言中一个特殊的字符。它表示匹配任意一个字符,因此,1000和2000都匹配且返回。

PS:MySQL中的正则表达式匹配不区分大小写。为区分大小写,可使用BINARY关键字,如:

where prod_name regexp binary 'jetpack .000'

进行OR匹配

为搜索两个串之一,使用|,如下所示:

select prod_name from products where prod_name regexp '1000|2000|3000'

匹配几个字符之一

匹配任何单一字符。但是,如果你只想匹配特定的字符,怎么办?可通过指定一组[和]括起来的字符完成,如下所示:

select prod_name from products where prod_name regexp '[123] Ton'

匹配范围

集合可用来定义要匹配的一个或多个字符。例如,下面的集合将匹配数字0到9:

[0123456789]

为了简化这种类型的集合,可使用-来定义一个范围。下面的式子功能等同于上述数字列表:

[0-9]

范围不限于完整的集合,[1-3]和[6-9]也是合法的范围。此外,范围不一定只是数值的,[a-z]匹配任意字母字符。

匹配特殊字符

为了匹配特殊字符,必须用\\为前导。\\-表示查找-,\\.表示查找.。这种处理就是所谓的转义,正则表达式内具有特殊意义的所有字符都必须以这种方式转义。这包括.、|、[]、\等。

匹配字符类

存在找出你自己使用的数字、所有字母字符或所有数字字母字符等匹配。为了更方便的工作,可以使用预定义的字符集,称为字符类。表列出了字符类以及他们的含义:

说明

[:alnum:]

任意字母和数字(同[a-zA-Z0-9])

[:alpha:]

任意字符

[:blank:]

空格和制表

[:cntrl:]

ASCII控制字符

[:digit:]

任意数字(同[0-9])

[:print:]

任意可打印字符

[:graph:]

与[:print:]相同,但不包括空格

[:lower:]

任意小写字母(同[a - z])

[:punct:]

既不在[:alnum:]又不在[:cntrl:]中任意字符

[:space:]

包括空格在内的任意空白字符

[:upper:]

任意大写字母

[:xdigt:]

任意十六进制

匹配多个实例

目前为止使用的所有正则表达式都视图匹配单词出现。如果存在一个匹配,改行被检索出来,如果不存在,检索不出任何行。但是有需要对匹配的数目进行更强的控制。例如,你可能需要寻找所有的数,不管书中包含多少个字。

这可以用正则的表达式重复元字符来完成。

元字符

说明

*

0个或多个匹配

+

一个或多个匹配

?

0个或一个匹配

{n}

n个数目的匹配

{n,}

n个以上的匹配

{n,m}

n~m个数目的匹配(m不超过255)

定位符

目前为止的所有例子都是匹配一个串中任意位置的文本。为了匹配特定位置的文本,需要使用下面给出的定位符:

元字符

说明

^

文本的开始

$

文本的结尾

[[:&lt:]]

词的开始

[[:>:]]

词的结尾

mysql 正则 匹配_MySQL正则表达式匹配相关推荐

  1. mysql正则比较大小_MySQL正则表达式匹配

    概述 正则表达式和MySQL有何关系?正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较.MySQL用where子句对正则表达式提供了初步的支持,允许你指定正则表达式,过滤sel ...

  2. php正则配ip,正则表达式匹配IP的表达式(推荐)

    这里给大家详细讲解一下一个匹配IP地址的正则表达式, 有关正则方面的知识,会在详细的讲解中提到. 在讲解之前,我先给大家介绍一下,ip地址的生成规则. IP地址,是由32位数字二进制转为四个十进制的字 ...

  3. tsql 正则_使用正则表达式匹配tsql注释语句

    使用正则表达式匹配tsql注释语句 让我们来看一些例子: 复制代码 代码如下: --获取表的count信息 select count(*) from T with(nolock) --获取特定值的co ...

  4. java正则匹配_JAVA正则表达式匹配括号

    JAVA的正则表达式目前还不支持平衡组,要实现匹配括号只有定制深度. 其原理就是不断循环匹配括号里的内容和括号后面的内容(\\([^\\(\\)]*\\)[^\\(\\)]*)* 例子: //匹配二级 ...

  5. java正则匹配url_正则表达式匹配URL

    最近在做一些关于URL匹配的项目,本来对正则表达式了解的不多,上网搜索了好多前辈写的正则表达式,发现很少能被我使用的,现将我自己写的正则表达式贴出来,供大家参考. %% 首先,正则表达式: Strin ...

  6. php 正则 规则,php 正则表达式匹配中文规则

    utf-8环 境下中文的匹配 \w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 或许你也需要匹配双字节字符,中文也 ...

  7. JAVA正则校验加减乘除,正则表达式匹配加减法算法

    搜索热词 通过键盘输入100以内正整数的加.减运算式,请编写一个程序输出运算结果字符串. 输入字符串的格式为:"操作数1 运算符 操作数2","操作数"与&qu ...

  8. java 完全匹配,Java 正则表达式匹配模式(贪婪型、勉强型、占有型)

    Greediness(贪婪型):最大匹配 X?.X*.X+.X{n,} 是最大匹配.例如你要用 "<.>" 去匹配 "a aava abb",也许你 ...

  9. mysql正则替换_MySQL中使用replace、regexp进行正则表达式替换的用法分析

    本文实例讲述了MySQL中使用replace.regexp进行正则表达式替换的用法.分享给大家供大家参考,具体如下: 今天一个朋友问我,如果将数据库中查到的类似于"./uploads/110 ...

最新文章

  1. 北京大学万小军教授:让机器进行文学创作,有什么进展和挑战?
  2. python基础教程第三版试题-Python基础教程(第3版) 笔记(二)
  3. 为什么MySQL将会是一个更好的NoSQL
  4. php中函数参数个数问题
  5. Python 3 mysql 简介安装
  6. c语言程序设计黄迎久,C语言程序设计教程_黄迎久、庞润芳主编 赵军富、徐扬、胡晓燕、贾茹副主编_9787302418528_...
  7. 基于SSM实现的在线音乐网站【附源码】(毕设)
  8. MATLAB时域信号采样,信号时域采样 频谱分析(matlab)
  9. bjui ajax.js,B-JUI 前端管理框架
  10. 从随机生成九宫格至随机生成数独游戏再至用回溯法实现数独的解
  11. 无损检测行业市场发展机遇分析及市场规模竞争战略可行性研究预测
  12. 计算机是人类的好伴侣 作文,电脑真好作文
  13. 微信JS接口安全域名填写ip地址
  14. 计算机内存条如何区分频率,怎么看内存条频率,详细教您怎么看内存条频率
  15. iPhone 5s 如何进入 DFU 模式,macOS 无法进入 DFU 模式
  16. 俄勒冈大学计算机科学专业,俄勒冈大学计算机与信息科学详解 热门专业不容错过...
  17. opera 浏览器头 不是opera 打头
  18. 【Cloudaily】大数据国家工程实验室揭牌,华为发布OpenLab全球建设计划
  19. 2.安装组件客户端程序(华为云学习笔记,HCIP,大数据)2022.6.6
  20. IIC(I2C)通讯协议详解(7位寻址)

热门文章

  1. ps打开出现dll文件丢失怎么办,dll修复的三个方法
  2. Hybrid APP(混合应用)开发指南
  3. 淘宝难做,不会英语也可以做亚马逊
  4. 【python小脚本】从数据库获取文件路径通过scp下载本地
  5. Java 创建/识别条形码、二维码
  6. 物联网开发实战解读 何为杀手级应用?
  7. AI+医疗 | 腾讯AI Lab食道癌早期筛查技术率先进入临床预实验
  8. 航海家炒股软件测试工资,防水防震! 海盗船“航海家”U盘测试
  9. 西门子博图功能指令(序列化)
  10. python爬取网站实例,Python爬取网页简单示例