`
cakin24
  • 浏览: 1383975 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

MySQL 正则表达式

阅读更多

MySQL 支持正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。

下表中的正则模式可应用于 REGEXP 操作符中。

模式 描述
^ 匹配输入字符串的开始位置。
$ 匹配输入字符串的结束位置。
. 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用 '[.\n]' 的模式。
[...] 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。
[^...] 求否字符符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。
p1|p2|p3 匹配 p1 或 p2 或 p3。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
{n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。

实例

了解以上的正则表达式的规则后,我们就可以根据自己的需求来编写带有正则表达式的SQL语句。以下将列出几个小实例(表名:runoob_tbl 来加深我们的理解:

  1. MariaDB[RUNOOB]>select*from runoob_tbl;
  2. +-----------+---------------+---------------+-----------------+
  3. | runoob_id | runoob_title | runoob_author | submission_date |
  4. +-----------+---------------+---------------+-----------------+
  5. |1|Learn PHP |JohnPoul|2007-05-24|
  6. |2|LearnMySQL|Abdul S |2007-05-24|
  7. |3| JAVA Tutorial|Sanjay|2007-05-06|
  8. +-----------+---------------+---------------+-----------------+
  9. 3 rows inset(0.00 sec)
 

查找runoob_author字段中以'Jo'为开头的所有数据:

MariaDB [RUNOOB]> SELECT * FROM runoob_tbl WHERE runoob_author REGEXP '^Jo';
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
|         1 | Learn PHP    | John Poul     | 2007-05-24      |
+-----------+--------------+---------------+-----------------+
1 row in set (0.00 sec)

查找runoob_author字段中以'y'为结尾的所有数据:

MariaDB [RUNOOB]> SELECT * FROM runoob_tbl WHERE runoob_author REGEXP 'y$';
+-----------+---------------+---------------+-----------------+
| runoob_id | runoob_title  | runoob_author | submission_date |
+-----------+---------------+---------------+-----------------+
|         3 | JAVA Tutorial | Sanjay        | 2007-05-06      |
+-----------+---------------+---------------+-----------------+
1 row in set (0.00 sec)

查找runoob_author字段中包含'du'字符串的所有数据:

MariaDB [RUNOOB]> SELECT * FROM runoob_tbl WHERE runoob_author REGEXP 'du';
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_date |
+-----------+--------------+---------------+-----------------+
|         2 | Learn MySQL  | Abdul S       | 2007-05-24      |
+-----------+--------------+---------------+-----------------+
1 row in set (0.00 sec)

查找runoob_author字段中以元音字符开头或以'ay'字符串结尾的所有数据:

MariaDB [RUNOOB]> SELECT * FROM runoob_tbl WHERE runoob_author REGEXP '^[aeiou]|ay$';
+-----------+---------------+---------------+-----------------+
| runoob_id | runoob_title  | runoob_author | submission_date |
+-----------+---------------+---------------+-----------------+
|         2 | Learn MySQL   | Abdul S       | 2007-05-24      |
|         3 | JAVA Tutorial | Sanjay        | 2007-05-06      |
+-----------+---------------+---------------+-----------------+
2 rows in set (0.00 sec)

 

1
0
分享到:
评论

相关推荐

    MySQL正则表达式

    ### MySQL正则表达式详解 #### 一、引言 MySQL作为一款广泛使用的数据库管理系统,在进行数据查询时提供了丰富的功能支持。其中,正则表达式是处理文本数据的强大工具之一,能够帮助用户更加灵活地进行数据筛选。...

    mysql正则表达式(regexp和rlike)的搜索功能实例分析

    本文实例讲述了mysql正则表达式(regexp和rlike)的搜索功能。分享给大家供大家参考,具体如下: 我们知道正则表达式是描述搜索模式的特殊字符串。 它是一个强大的工具,为我们提供一种简洁灵活的方法来识别基于模式...

    MySQL的正则表达式

    MySQL 的正则表达式 MySQL 的正则表达式是 SQL 语言的一个子集,能够匹配基本的字符、字符串。以下是 MySQL 正则表达式的相关知识点: 1. 基本匹配:REGEXP 可以匹配基本的字符、字符串。例如:select * from wp_...

    MySQL正则表达式.pdf

    ### MySQL正则表达式知识点详解 #### 一、MySQL中正则表达式的使用场景与功能 MySQL中的正则表达式是一种强大的工具,主要用于文本搜索和数据处理任务中。通过使用正则表达式,用户可以执行复杂的字符串匹配操作,...

    精通正则表达式 中英文

    如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB.NET和c#(以及.NET Framework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本...

    MySql正则表达式的描述.pdf

    MySQL中的正则表达式(Regex)是一种强大的查询工具,用于定义字符串匹配的模式。这些模式可以用来进行复杂的文本搜索和替换操作。在MySQL中,正则表达式功能主要通过`REGEXP`运算符来实现。 1. **基础概念**: - ...

    在sqlserver2008r2版本中实现正则表达式

    首先,SQL Server 2008 R2的标准版并未内置正则表达式函数,这与某些其他数据库系统(如PostgreSQL或MySQL)不同。但是,我们可以借助T-SQL中的存储过程或者一些外部工具来弥补这个功能的缺失。 1. **使用 CLR ...

    精通正则表达式(第三版)

    如今,正则表达式已经成为众多语言及工具--Perl、PHP、Java、Python、Ruby、MysQL、VB-NET和c#(以及.NETFramework中的任何语言)--中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本处理。...

    精通正则表达式电子书

    ### 正则表达式的全面掌握 #### 一、正则表达式概述 正则表达式是一种功能强大的文本处理工具,可以用于在各种编程语言中进行数据的搜索、替换以及提取等操作。它作为一种标准特性已经广泛应用于多种流行的语言与...

    精通正则表达式(第三版)

    如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB-NET和c#(以及.NETFramework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本...

    MySQL正则表达式入门教程

    MySQL中的正则表达式是一种强大的文本匹配工具,它允许用户使用特定的模式来搜索和处理字符串数据。在SQL查询中,正则表达式通常通过`REGEXP`关键字来使用,以提供比`LIKE`谓词更复杂的匹配能力。本教程将引导你入门...

    完全自动的正则表达式编写工具

    正则表达式是一种强大的文本处理工具,用于在字符串中匹配、查找、替换或提取特定模式。在编程和数据处理领域,正则表达式是不可或缺的一部分,但编写复杂的正则表达式往往需要深厚的知识和大量的实践。为了简化这一...

    正则表达式入门指导.ppt

    在多种编程语言中,如Perl、Java、JavaScript、C#、PHP、Python、Ruby、Tcl、MySQL、Oracle等,正则表达式都扮演着重要的角色。 学习正则表达式可以做以下事情: 1. **查找字符串**:你可以使用正则表达式来检查一...

    [精通正则表达式(第3版)]中文版.(美)Jeffrey.E.F.Friedl-part1.rar

    如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MySQL、VB.NET和C#(以及.NET Framework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本...

    stormbroken#Tec-Be#MySQL 正则表达式1

    1. 正则表达式 2. 实例 3. 参考 1. 正则表达式 2. 实例 3. 参考

    正则表达式AndMySQL参考文档chm

    正则表达式与MySQL是两种在信息技术领域中至关重要的工具,它们在数据处理、查询优化以及文本分析等方面发挥着核心作用。本参考文档旨在提供一个综合性的指南,帮助用户理解和应用这两种技术。 正则表达式(Regular...

    Struts2,Spring,MySql,正则表达式等各类API帮助文档

    Struts2、Spring、MySql和正则表达式是软件开发中的核心技术和工具,它们各自在不同的领域发挥着重要作用。 Struts2是一个基于MVC(Model-View-Controller)架构的开源Java Web框架,用于构建可维护性高、结构清晰...

    正则表达式从入门到精通

    虽然标准SQL不直接支持正则表达式,但许多数据库系统如MySQL、PostgreSQL、Oracle和SQL Server提供了扩展函数来实现正则表达式的功能,如MySQL的`REGEXP`或SQL Server的`PATINDEX`。 在毕业设计中,正则表达式是一...

    正则表达式MySQL参考文档

    正则表达式在MySQL中的应用是数据库查询中的一个重要部分,它允许我们进行复杂的数据筛选和匹配操作。在MySQL中,正则表达式主要用于`WHERE`子句中的`REGEXP`或`RLIKE`操作符,使得我们可以根据模式匹配来查询数据。...

Global site tag (gtag.js) - Google Analytics