返回顶部
首页 > 资讯 > 数据库 >MySQL通配符与正则表达式搜过滤数据详解
  • 790
分享到

MySQL通配符与正则表达式搜过滤数据详解

2024-04-02 19:04:59 790人浏览 八月长安
摘要

目录通配符过滤通配符 %通配符 _技巧正则表达式过滤字符匹配其他字符对比正则表达式测试总结通配符过滤 通配符:用来匹配值的一部分特殊字符。 通配符可以在搜索模式中任意位置使用,并且可以使用多个通配符。 搜索模式:由字面值

通配符过滤

通配符:用来匹配值的一部分特殊字符。

通配符可以在搜索模式中任意位置使用,并且可以使用多个通配符。

搜索模式:由字面值、通配符或者两者组合构成的搜索条件。

语法(使用LIKE操作符):

SELECT [column_name]
FROM [table_name]
WHERE [column_name] LIKE '[string]';

通配符 %

‘%’ 表示任何字符出现任意次数,例如 LIKE ‘jet%’ 匹配词jet起头的值,‘%anvil%’ 匹配任何位置包含文本anvil的值。

注意

  • 根据Mysql的配置方式,搜索可以是区分大小写的;
  • ‘%’ 可以匹配0个字符;
  • 值的尾空格会干扰通配符匹配,最好在搜索模式最后附加一个%;
  • ‘%’ 不能匹配NULL。

通配符 _

‘_’ 只匹配单个字符。

技巧

  • 不要过度使用通配符,因为这会很花时间;
  • 如有必要,使用通配符匹配在搜索的最后;

正则表达式过滤

语法(使用REGEXP操作符):

SELECT [column_name]
FROM [table_name]
WHERE [column_name] REGEXP '[string]';

字符匹配

基本匹配:‘.’ 表示匹配任意一个字符。

基本字符匹配举例

正则表达式匹配不区分大小写,使用BINARY关键字区分,例如WHERE prod_name REGEXP BINARY ‘JetPack .000’。

  • OR匹配:‘1000|2000’ 表示匹配1000或者2000。
  • 多字符匹配:‘[123]’ 表示匹配 1 或 2 或 3,是 [1|2|3] 的缩写。

但是 ‘[1|2|3] Ton’ 和 ‘1|2|3 Ton’ 匹配结果并不相同,后者表示匹配 1 或 2 或 3 Ton。

  • 否定字符匹配:‘[^123]’ 表示匹配除这些字符外的任何东西。
  • 匹配范围:‘[0-9]’ 与 ‘[0123456789]’ 相同。‘[a-z]’ 匹配任意字母字符。
  • 匹配特殊字符:使用转义字符 ‘\’,例如 ‘\.’ 、’ \|’ 、‘\[’ 、‘\’。

其他字符

空白元字符

元字符说明
\\f换页
\\n换行
\\r回车
\\t制表
\\v纵向制表

字符类

说明
[:alnum:]任意字母和数字
[:alpha:]任意字符(同[a-zA-Z])
[:blank:]空格和制表
[:cntrl:]ASCII控制字符(0-31和127)
[:digit:]任意数字
[:graph:]与[:print:]相同,但是不包括空格
[:lower:]任意小写字母
[:print:]任意可打印字符
[:punct:]既不在[:alnum:]也不在[:cntrl:] 中的任意字符
[:space:]包括空格在内的任意空白字符
[:upper:]任意大写字符
[:xdigit:]任意十六进制数字

重复元字符

元字符说明
*0个或多个匹配
+1个或多个匹配
?0个或多个匹配
{n}指定数目匹配
{n, }不少于指定数目的匹配
{n, m}匹配数目的范围(m不超过255)

定位元字符

元字符说明
^文本的开始
$文本的结尾
[[:<:]]词的开始
[[:>:]]词的结尾

举例:

SELECT prod_name
FROM products
WHERE prod_name REGEXP '^[0-9\\.]';

MySQL通配符与正则表达式搜过滤数据详解

对比

如果匹配文本在列值中出现,则LIKE不会匹配,但是REGEXP会匹配。

LIKE与REGEXP对比

可以通过用 ^ 开始每个表达式,用 $ 结束每个表达式,使得REGEXP的作用和LIKE一样。

正则表达式测试

SELECT 'hello' REGEXP '[0-9]';	//结果返回0

总结

到此这篇关于mysql通配符与正则表达式搜过滤数据的文章就介绍到这了,更多相关Mysql通配符与正则过滤数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL通配符与正则表达式搜过滤数据详解

本文链接: https://lsjlt.com/news/34313.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL通配符与正则表达式搜过滤数据详解
    目录通配符过滤通配符 %通配符 _技巧正则表达式过滤字符匹配其他字符对比正则表达式测试总结通配符过滤 通配符:用来匹配值的一部分特殊字符。 通配符可以在搜索模式中任意位置使用,并且可以使用多个通配符。 搜索模式:由字面值...
    99+
    2024-04-02
  • MySQL通配符与正则表达式
    通配符 通配符必须全文匹配时才为真,使用LIKE关键字 字符 示例 含义 _ "a_b" 任意一个字符"axb",其中x可以使任意字符,包括汉字 % "%a" 任意一个以a结尾的字符串 正则表达式 字符串str中有...
    99+
    2015-10-28
    MySQL通配符与正则表达式
  • 数据库MySQL 通配符与模式匹配正则表达式
    今天一个同事说他写了一个sql语句查询没有结果,他是这样写的 SELECT * FROM Persons WHERE City&n...
    99+
    2024-04-02
  • 中文字符过滤:PHP正则表达式实践
    PHP是一种广泛应用的编程语言,特别在Web开发领域中非常流行。在Web开发过程中,经常会遇到需要对用户输入的文本进行过滤、验证等操作,其中字符过滤是一项十分重要的操作。本文将介绍如何...
    99+
    2024-04-02
  • Python中使用正则表达式及正则表达式匹配规则详解
    目录1 导库2 使用模板3 说明4 示例5 正则表达式匹配规则1 导库 import re 2 使用模板 re_pattern = re.compile(pattern, flags...
    99+
    2023-03-22
    Python正则表达式匹配规则 Python正则表达式
  • C#正则表达式与HashTable详解
    目录1、正则表达匹配规则转义字符限定字符分组()2、C#中正则表达式构建与匹配正则表达式的替换正则表达式拆分HashTable概述及元素添加Hashtable遍历Hashtable元...
    99+
    2024-04-02
  • Java字符串 正则表达式详解
    目录一、规则表1.字符2.字符类 .3.边界匹配符4.逻辑操作符5.量词二、Pattern类1.Pattern类的实例获取—compile方法2.split方法3.Pattern中匹...
    99+
    2024-04-02
  • SQL如何使用正则表达式对数据进行过滤
    目录1、基本字符匹配2、进行OR匹配3、匹配几个字符之一4、匹配范围5、匹配特殊字符6、匹配字符类7、匹配多个实例8、定位符9、like语句与正则总结1、基本字符匹配 数据库使用正则进行过滤,写法与like语句非常相似,...
    99+
    2024-04-02
  • Java中正则表达式匹配过程实例详解
    目录下面是Java正则表达式的语法字符:正则表达式简单的匹配过程:(1) 基础匹配过程(2)贪婪模式(3)非贪婪模式 (4)零宽度匹配过程总结正则表达式:定义字符串的模式,...
    99+
    2024-04-02
  • MySQL数据库——MySQL REGEXP:正则表达式
    正则表达式主要用来查询和替换符合某个模式(规则)的文本内容。例如,从一个文件中提取电话号码,查找一篇文章中重复的单词、替换文章中的敏感语汇等,这些地方都可以使用正则表达式。正则表达式强大且灵活,常用于非常复杂的查询。 MySQL 中,使用 ...
    99+
    2023-09-01
    正则表达式 数据库 mysql
  • java中如何使用正则表达式过滤特殊字符
    实例代码如下:推荐java视频教程:java学习视频public class FilterSpecialStr { public static void main(String[] args) { String regE...
    99+
    2021-04-20
    java 正则表达式 过滤 特殊字符
  • C#字符串与正则表达式的图文详解
    1.创建字符串 string 变量名 = "字符串内容";            string str = "abcdrf";             Conso...
    99+
    2024-04-02
  • 正则表达式之字符串模式匹配实例详解
    目录前言什么是正则表达式字符范围匹配元字符多次重复匹配定位匹配贪婪模式与非贪婪模式表达式分组结语前言 今天我们来学习正则表达式,正则表达式的应用十分广泛,几乎每个涉及到交互的项目都会...
    99+
    2024-04-02
  • idea 正则表达式搜索替换应用详解
    idea 正则表达式搜索替换简单应用 利用正则表达式,idea可以进行快速大量替换  1.CTRL+R 快捷键调出下面当前页面替代操作栏 注意要使用正则表达式替换需要勾选...
    99+
    2024-04-02
  • MySQL正则表达式REGEXP使用详解
    目录LIKE 和 REGEXP之间的重要差别正则表达式匹配不区分大小写简单的正则表达式测试空白元字符(特殊含义的字符)匹配字符类正则表达式支持的其它语法约定正则表达式断言语法实例总结...
    99+
    2024-04-02
  • Python字符串与正则表达式详细介绍
    目录一、字符串相关操作 二、正则表达式相关操作一、字符串相关操作  1.统计所输入字符串中单词的个数,单词之间用空格分隔。其运行效果如下图所示。 s=input(...
    99+
    2024-04-02
  • Oracle如何通过正则表达式分割字符串REGEXP_SUBSTR
    这篇文章主要介绍Oracle如何通过正则表达式分割字符串REGEXP_SUBSTR,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!REGEXP_SUBSTR函数格式如下: functi...
    99+
    2024-04-02
  • python正则表达式中匹配次数与贪心问题详解(+ ?*)
    python中正则表达式中的匹配次数问题网上有很多解释,最多的就是*匹配0或者无数次,+匹配1次或无数次,?匹配0次或者1次。可是虽然这个文字描述很简单,但是真正用起来的时候大家有没...
    99+
    2024-04-02
  • 跳过正则表达式字符,直到使用 golang 进行搜索
    小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《跳过正则表达式字符,直到使用 golang 进行搜索》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多...
    99+
    2024-04-04
  • MySQL中正则表达式(REGEXP)使用详解
    目录前言LIKE和REGEXP的区别OR进行匹配匹配范围匹配特殊字符匹配字符类匹配多个实例定位符^有两种用法附:Mysql字符串截取 和 截取字符进行查询总结前言 有时候使用MySQ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作