加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql正则表达式的案例分析

发布时间:2022-02-20 01:21:22 所属栏目:MySql教程 来源:互联网
导读:小编给大家分享一下mysql正则表达式的案例分析,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧! MySQL支持基于正则表达式和REGEXP运算符的另一种模式匹配操作。 1.它提供了强大而灵活的模式匹配,可以帮助我们为数据库系统实现power搜索实用程
      小编给大家分享一下mysql正则表达式的案例分析,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
 
      MySQL支持基于正则表达式和REGEXP运算符的另一种模式匹配操作。
 
1.它提供了强大而灵活的模式匹配,可以帮助我们为数据库系统实现power搜索实用程序。
 
2.REGEXP是执行正则表达式模式匹配时使用的运算符。
 
3.RLIKE是同义词。它还支持许多元字符,这些元字符在执行模式匹配时可以提供更大的灵活性和控制。
 
4.反斜杠用作转义字符。如果使用了双反斜杠,则仅在模式匹配中考虑。
 
5.不区分大小写。
 
PATTERN 模式匹配的是什么
* 在它之前的零个或多个字符串实例
+ 在它之前的一个或多个字符串实例
. 任何一个角色
? 匹配前面的字符串的零个或一个实例。
^ 插入符号(^)匹配字符串的开头
$ 字符串结束
[abc] 方括号之间列出的任何字符
[^abc] 方括号之间未列出的任何字符
[A-Z] 匹配任何大写字母。
[a-z] 匹配任何小写字母
[0-9] 匹配从0到9的任何数字。
[[:<:]] 匹配单词的开头。
[[:>:]] 匹配单词的结尾。
[:class:] 匹配一个字符类,即[:alpha:]匹配字母,[:space:]匹配空格,[:punct:]匹配标点符号,[:upper:]匹配上层字母。
p1|p2|p3 轮换; 匹配任何模式p1,p2或p3
{n} n前面元素的实例
{m,n} m到前面元素的n个实例
举例说明:
 
匹配字符串开头(^):
 
给出所有以“sa”开头的名称。例子——sam,samarth。
 
SELECT name FROM student_tbl WHERE name REGEXP '^sa';
匹配字符串的末尾($):
 
给出所有以“on”结尾的名称。例子——norton,merton.
 
SELECT name FROM student_tbl WHERE name REGEXP 'on$';
匹配它前面字符串的零个或一个实例(?):
 
给出所有包含“com”的标题。例子-comedy , romantic comedy.
 
SELECT title FROM movies_tbl WHERE title REGEXP 'com?';
匹配p1、p2或p3(p1|p2|p3)中的任何模式:
 
给出所有包含“be”或“ae”的名称。例子——Abel, Baer.
 
SELECT name FROM student_tbl WHERE REGEXP 'be|ae' ;
匹配方括号([abc])中列出的任何字符:
 
给出包含“j”或“z”的所有名称。例子-Lorentz, Rajs.
 
SELECT name FROM student_tbl WHERE REGEXP '[jz]' ;
匹配' a '到' z ' - ([a-z]) ([a-z]和(.)之间的任何小写字母:
 
检索包含字母“b”和“g”范围内的所有名称,后跟任意字符,后跟字母“a”。例如,Tobias, sewall.
 
匹配任何单个字符(.)
 
SELECT name FROM student_tbl WHERE REGEXP '[b-g].[a]' ;
匹配任何不在方括号中列出的字符。([^abc]):
 
给出所有不包含“j”或“z”的名称。例如: nerton, sewall.
 
SELECT name FROM student_tbl WHERE REGEXP '[^jz]' ;
匹配单词结尾[[:>:]]:
 
给出所有以字符“ack”结尾的标题。例子——Black.
 
SELECT title FROM movies_tbl WHERE REGEXP 'ack[[:>:]]';
匹配单词开头[[:<:]]:
 
给出所有以字符“for”开头的标题。例子-Forgetting Sarah Marshal.
 
SELECT title FROM movies_tbl WHERE title REGEXP '[[:<:]]for';
匹配一个字符类[:class:]:
 
i.e [:lower:]-小写字符,[:digit:] -数字字符等。
 
只给出包含字母字符的所有标题。例子-stranger things, Avengers.
 
SELECT title FROM movies_tbl WHERE REGEXP '[:alpha:]' ;
      看完了这篇文章,相信你对mysql正则表达式的案例分析有了一定的了解。

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!