MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式模式匹配的格式。
SQL模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零字符)。在 MySQL中,SQL的模式默认是忽略大小写的(注意使用SQL模式时,不能使用=或!=;而应使用LIKE或NOT LIKE比较操作符)。
1.查找以a开头的
SELECT * FROM pet WHERE name LIKE 'a%';
2.查找以a结尾的
SELECT * FROM pet WHERE name LIKE '%a';
3.查找包含a的
SELECT * FROM pet WHERE name LIKE '%a%';
由MySQL提供的模式匹配的其它类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。
扩展正则表达式的一些字符是:
1 .‘.’匹配任何单个的字符。
2 . 字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或 “c”。为了命名字符的范围,使用一个“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字
3 “ * ”匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配任何数量的数字,而“.*”匹配任何数量的任何字符。
如果REGEXP模式与被测试值的任何地方匹配,模式就匹配(这不同于LIKE模式匹配,只有与整个值匹配,模式才匹配)。
为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。
4.查找以a开头的
SELECT * FROM pet WHERE name REGEXP '^a';
5.查找以a结尾的
SELECT * FROM pet WHERE name REGEXP 'a$';
6.查找包含a的
SELECT * FROM pet WHERE name REGEXP 'a';
7.查找正好是五个字符的
mysql> SELECT * FROM pet WHERE name REGEXP '^.{5}$';
分享到:
相关推荐
在计算机科学中,串(String)的模式匹配问题是一个经典且重要的问题,它涉及到字符串处理、文本搜索以及数据挖掘等领域。本程序以C语言实现,提供了高效解决串的模式匹配的方法,具有很好的实用价值。 首先,我们...
KMP(Knuth-Morris-Pratt)字符串模式匹配算法是一种高效的字符串搜索算法,由D.M. Knuth、V. Morris和J.H. Pratt在1970年提出。该算法避免了简单匹配算法中的不必要的回溯,显著提高了在文本字符串中查找模式字符串...
### 字符串模式匹配算法的改进研究 #### 引言 随着网络安全问题的日益突出,网络入侵检测系统(Network Intrusion Detection System, NIDS)作为一项重要的安全防护技术,在网络安全领域受到了广泛的关注。模式...
在编程领域,模式匹配是一种常见的任务,特别是在字符串处理和数据搜索中。在C#中,我们可以使用各种方法来实现这个功能。本篇文章将深入探讨如何使用C#来实现字节数组的模式匹配算法。 首先,我们要理解什么是模式...
模式匹配 模式匹配是数据结构中的一种重要技术,用于在一个字符串中查找另一个字符串的出现位置。在计算机科学中,模式匹配有很多实际应用,例如文本编辑、数据挖掘、信息检索等。 在模式匹配中,有两种常见的算法...
### 数据结构:模式匹配的改进算法 #### 一、引言 在计算机科学领域,模式匹配是一种基础且重要的技术,广泛应用于文本处理、搜索引擎、生物信息学等多个领域。传统的模式匹配算法,如朴素的字符串匹配算法,虽然...
"模式匹配的KMP算法" 模式匹配的KMP算法是计算机科学领域中的一种经典算法,用于解决串的模式匹配问题。该算法可以高效地查找目标串中是否包含某个模式串,并返回模式串在目标串中的起始位置。 模式匹配的KMP算法...
**AC-BM 多模式匹配算法** AC-BM(Aho-Corasick-BM)算法是一种结合了Aho-Corasick算法和Boyer-Moore算法的字符串匹配方法,主要用于在一个大文本串中高效地查找多个模式串。这种算法提高了在大量模式下搜索文本的...
实验二 串模式匹配算法(串实验) 实现功能:朴素的模式匹配算法(BF算法)、KMP改进算法(Next[ ])、KMP改进算法(NextVal[ ])。 主控菜单: 1.输入主串、子串和匹配起始位置 2.朴素的模式匹配算法 3.KMP改进算法...
AC多模式匹配算法 特点:应用有限自动机巧妙地将字符比较转化为了状态转移。此算法有两个特点:一是扫描文本时完全不需要回溯,二是时间复杂度为O(n)与关键字的数目和长度无关,但所需时间和文本长度以及所有关键字...
字符串的模式匹配算法在计算机科学中占据着重要的地位,它主要应用于文本搜索、数据分析和文本处理等领域。KMP(Knuth-Morris-Pratt)算法是其中一种高效的算法,尤其适用于处理具有重复子串的模式匹配问题。接下来...
KMP(Knuth-Morris-Pratt)模式匹配算法是一种在主串(目标字符串)中查找子串(模式字符串)的高效算法,由D.E. Knuth、V.R. Morris和J.H. Pratt于1977年提出。相较于简单的暴力匹配方法,KMP算法在模式匹配过程中...
串的模式匹配即子串定位是一种重要的串运算。设s和t是给定的两个串,在主串s中找到等于子串t的过程称为模式匹配,如果在s中找到等于t的子串,则称匹配成功,函数返回t在s中的首次出现的存储位置(或序号),否则匹配...
在IT领域,字符串模式匹配是数据结构和算法中一个至关重要的主题,特别是在计算机病毒检测、文本搜索、生物信息学等领域有着广泛的应用。本实验“基于字符串模式匹配算法的病毒感染检测问题”聚焦于如何利用这些算法...
AC多模式匹配算法 特点:应用有限自动机巧妙地将字符比较转化为了状态转移。此算法有两个特点:一是扫描文本时完全不需要回溯,二是时间复杂度为O(n)与关键字的数目和长度无关,但所需时间和文本长度以及所有关键字...
【模式匹配】 模式匹配是计算机科学中的一种基础技术,用于在文本中寻找特定的字符串或模式。在信息检索、生物信息学、网络入侵检测等领域,模式匹配算法扮演着重要角色。多模式匹配算法,例如AC(Aho-Corasick)...
在这个主题中,我们将深入探讨两种常见的模式匹配算法:一般模式匹配和KMP(Knuth-Morris-Pratt)模式匹配,同时也会涉及C语言实现的相关知识。 1. 一般模式匹配: 一般模式匹配是最基础的字符串匹配方法,通常采用...
Wu-Manber多模式匹配算法是一种高效且实用的字符串搜索算法,尤其在处理大量模式字符串时表现优秀。该算法由Michael Wu和Steven Manber于1992年提出,其主要目的是解决在一个大文本中同时查找多个模式字符串的问题。...
### 多模式匹配算法在中英文混合环境中的应用 #### 摘要解析与理论背景 本文探讨了一种专门针对中英文混合文本的多模式匹配算法。多模式匹配算法是计算机科学领域的一种基本技术,主要用于查找一个或多个模式在...
串的简单模式匹配算法 串的简单模式匹配算法是计算机科学中的一种基本算法,用于在主串中查找模式串的出现位置。该算法的实现主要基于单链表的数据结构,通过遍历单链表来实现模式匹配。 单链表结构体的定义 -----...