• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql中用正则表达式进行搜索匹配教程(三)

mysql中用正则表达式进行搜索匹配教程(三)

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了mysql,正则表达式,搜索匹配等相关知识,希望本文的分享对您有所帮助
匹配特殊字符

正则表达式语言由具有特定含义的特殊字符构成。我们已经看到.、[]、|和-等,还有其他一些字符。请问,如果你需要匹配这些字符,应该怎么办呢?例如,如果要找出包含.字符的值,怎样搜索?请看下面的例子:

输入:

select vend_name from vendors where venr_name regexp '.’ order by vend_name;

输出:

QQ截图20170504142944.png

分析:这并不是期望的输出,.匹配任意字符,因此每个行都被检索出来。

为了匹配特殊字符,必须用\\为前导。\\-表示查找-,\\.表示查找.。

\\也用来引用元字符(具有特殊含义的字符),如下表

QQ截图20170504144046.png

注意:为了匹配反斜杠(\)字符本身,需要使用\\\。

匹配字符类

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

QQ截图20170504144627.png


匹配多个实例

目前为止使用的所有正则表达式都试图匹配单次出现。如果存在一个匹配,该行被检索出来,如果不存在,检所不出任何行。但是有时需要对匹配的数目进行更强的控制。例如,你可能需要寻找所有的数,不管数中包含多少数字,或者你可能想寻找的一个单词并且还能够适应一个尾随的s(如果存在),等等。

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

QQ截图20170504145013.png

下面举个例子:

输入:

select prod_name from products where prod_name regexp '\\([0-9] sticks?\\)’ order by prod_name;

输出:

QQ截图20170504145130.png

分析:正则表达式\\([0-9] sticks?\\)需要解说下。\\(匹配),[0-9]匹配任意数字(这个例子中为1和5), sticks?匹配 stick和 sticks(s后的?使s可选,因为?匹配它前面的任何字符的0次或1次出现),\\)匹配。没有?,匹配 stick和 sticks会非常困难。

定位符

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

QQ截图20170504152902.png

例如,如果你想找出以一个数(包括以小数点开始的数)开始的所有产品,怎么办?简单搜索[0-9\\.](或[[:digit:]\\.])不行,因为它将在文本内任意位置查找匹配。解决办法是^定位符,如下所示:

输入:

select prod_name from products where prod_name regexp '^[0-9\\.]' order by prod_name;

输出:

QQ截图20170504154858.png

分析:^匹配串的开始。因此,^[0-9\\.]只在.或任意数字为串中第一个字符时才匹配它们。没有^,则还要多检索出4个别的行。

【相关推荐】

  1. mysql中用正则表达式进行搜索匹配教程(一)

  2. mysql中用正则表达式进行搜索匹配教程(二)

  3. MySQL免费在线视频教程

  4. 韩顺平 2016年 最新MySQL基础视频教程

以上就是mysql中用正则表达式进行搜索匹配教程(三)的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享下mysql各个主要版本之间的差异
  • MySQL essential版本和普通版本有什么区别?
  • redhat 5.4下安装MYSQL全过程
  • 如何用SQL命令查看Mysql数据库大小
  • 解析mysql中如何获得数据库的大小
  • 解析mysql修改为utf8后仍然有乱码的问题
  • 5个常用的MySQL数据库管理工具详细介绍
  • 解析在MySQL里创建外键时ERROR 1005的解决办法
  • 解析远程连接管理其他机器上的MYSQL数据库
  • mysql 精简过程(删除一些文件)

相关文章

  • 2018-12-05MySQL基础教程9 — 函数之日期和时间函数
  • 2018-12-05sql数据处理函数简介
  • 2017-05-11MySQL实现批量插入以优化性能的教程
  • 2018-12-05SQL2005 ROW_NUMER实现分页的两种常用方式
  • 2018-12-05数据库sql select查询的工作原理
  • 2018-12-05MySQL中关于加密和解密的实例详解
  • 2018-12-05Cont()与Where().Count()有时性能差别如此之大!
  • 2017-05-11忘记mysql数据库root用户密码重置方法[图文]
  • 2018-12-05SQLServer2008的实用小道具 merger使用介绍
  • 2017-05-11cmd连接mysql的方法详解

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL之-详解Replication的容量、故障排错以及多线程方式传输二进制日志
    • MySQL中常用的SQL Mode
    • MySQL日期函数详解
    • MSSQL数据类型及长度限制详细说明
    • sqlserver中向表中插入多行数据的insert语句
    • sqlserver常用命令行操作(启动、停止、暂停)
    • Mysql DBA 20天速成教程
    • 当忘记 SQL Server 管理员密码该如何处理
    • 教你如何在MySQL命令行中使用SQL语句的规则
    • mysql数据库分库分表技术难点解决策略

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有