加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式进行查询

发布时间:2020-12-14 06:05:35 所属栏目:百科 来源:网络整理
导读:? ? ? ? ? 正则表达式通常被用来检索或者替换那些符合某个模式的文本内容,根据指定的匹配模式匹配文本中符合要求的特殊的字符串。eg:从一个文本文件中提取电话号码,查找一篇文章中重复的单词等。 ? ? ? ? 在mysql中使用REGEXP关键字指定正则表达式的字符

?

? ? ? ? 正则表达式通常被用来检索或者替换那些符合某个模式的文本内容,根据指定的匹配模式匹配文本中符合要求的特殊的字符串。eg:从一个文本文件中提取电话号码,查找一篇文章中重复的单词等。

? ? ? ? 在mysql中使用REGEXP关键字指定正则表达式的字符匹配模式,REGEXP操作符后常用的匹配字符如下表所示。

选项 作用
^ 匹配文本的开始字符
$ 匹配文本的结束字符
. 匹配任何单个字符
* 匹配零个或多个在它前面的字符
+ 匹配前面的字符1次或多次
<字符串> 匹配包含指定字符串的文本
[字符集合] 匹配字符集合中任何一个字符
[^] 匹配不在括号中的任何字符
字符串{n,} 匹配前面的字符串至少n次
字符串{n,m} 匹配前面的字符串至少n次、至多m次。如果n=0,此参数为可选参数。

例1? 查学生表中s_name字段以字母“王”开头的记录。

查询语句:

SELECT * FROM student WHERE s_name REGEXP ^王‘;

查询结果:

例2 ?查学生表中s_name字段以字母“云”结尾的记录。

查询语句:

SELECT * FROM student WHERE s_name REGEXP 云$

查询结果:

例3? 查询vendors表中vend_id字段值包含字母“B”和“0”并且字母间存在2个其他字母的记录。?

查询语句:

SELECT vend_id FROM vendors WHERE vend_id REGEXP B..0

查询结果:

例4

例4 ? ?查询vendors表中vend_id字段值以字母“BR”开头的记录。

查询语句:

SELECT vend_id FROM vendors WHERE vend_id REGEXP ^BR*

查询结果:

例5 ??查询vendors表中vend_name字段值包含字符串"ll"的记录。

查询语句:

SELECT vend_name FROM vendors WHERE vend_name REGEXP ll

查询结果:

?

例6 ?查询vendors表中vend_name字段值包含字符串"ll"或者“ea”的记录。

查询语句:

SELECT vend_name FROM vendors WHERE vend_name REGEXP ll|ea

查询结果:

例6 ?查询vendors表中vend_name字段值包含字母"l"或者“e”的记录。

?查询语句:

SELECT vend_name FROM vendors WHERE vend_name REGEXP [le]

查询结果:

例7? 查询vendors表中vend_id字段数值包含1或者2的记录。

?查询语句:

SELECT * FROM vendors WHERE vend_id REGEXP [1-2]

查询结果:

?

例8? 查询customer表中c_id字段数值包含1到5以外字符的记录。

查询语句:

SELECT * FROM customer WHERE c_id REGEXP [^1-5]

查询结果:

?

例9? 查询vendors表中vend_name字段值中出现字母"l"至少2次的记录。

?查询语句:

SELECT * FROM vendors WHERE vend_id REGEXP l{2,}

查询结果:

(编辑:李大同)

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

    推荐文章
      热点阅读