首页 > 数据库技术 > 详细

Mysql-3 正则表达式

时间:2021-01-10 22:29:55      阅读:33      评论:0      收藏:0      [点我收藏+]

1、 正则表达式简介:

  正则表达式是用来匹配文本的特殊的字符集合,如果想从一个文本文件中提取电话号码,可以使用正则表达式来完成

 

2、正则表达式作用

   a、正则表达式的作用是匹配文本,将一个正则表达式与一个文本串进行比较

   b、mysql 用where 子句对正则表达式提供支持,允许指定正则表达式过滤select查找出的数据

 

3、mysql中正则表达式格式

  格式:

  在where 子句中使用regexp 关键字,后面接正则表达式字符

 

正则表达式与like区别

  -1:在where 中可以使用like(not like) 和 regexp(not regexp) 来匹配特定的内容

    a、like 匹配整列数据

    b、regexp 可以匹配列中任意位置的文本,regexp 更灵活强大

  -2:mysql 中正则表达式不区分大小写

  实例

  a、完成匹配

    查询 表food中的列product_name 包含文本1000的所有行

    select * from food where product_name REGEXP ‘1000‘;

  b、使用 ‘|‘ 来匹配两个串中的一个

    查询 表 food 中的列 product_name 包含1000 或 1001的数据

    select * from food whereh product_name REGEXP ’1000 | 1001‘;

  c、使用’[ ]‘,匹配几个字符串中的一个

    查询表food 中的列type 包含有 [ ]条件中的类型

    select *  from food where type REGEXP ’[猪、鸡、牛] 肉‘;

    说明: 正则表达式 [猪、鸡、牛] 肉,[猪、鸡、牛]  定义一组字符,它的意思是匹配 猪或鸡或牛

        因此,猪肉、鸡肉都匹配并且返回

  d、使用[^ ],不匹配几个字符中的任意一个

    查询表food 中的列type 不包含有 [^ ]条件中的类型

    select *  from food where type REGEXP ’[^猪、鸡、牛] 肉‘;

    说明: 正则表达式 [^猪、鸡、牛] 肉,[猪、鸡、牛]  定义一组字符,它的意思是不匹配 猪或鸡或牛

        因此,有羊肉则匹配且数据返回

  e、匹配一个范围

    匹配一个范围,使用集合操作,[1-9] 表示匹配1到9之间的任意一个数字,[a-z] 表示匹配a到z直接的任意一个字符

    查询表food 中的列num 范围在[ 01-19]的数据

    select * from food where num REGEXP ‘num [01-19]‘;

  f、对于特殊字符的匹配

    对于特殊字符的匹配,那么待匹配的特殊字符前面要加’\\‘

    查询表food 中的列 describe 包含特殊字符 .

    select * from food where describe REGEXP ‘\\.‘

  Mysql 支持的正则表达式字符集

   技术分享图片

 

  Mysql 支持的正则表达式字符集

  技术分享图片

 

   Mysql 支持的正则表达式字符集

  技术分享图片

 

  

   

 

Mysql-3 正则表达式

原文:https://www.cnblogs.com/feihan/p/14259500.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!