6.8 使用正则表达式查询

选项

说明

^

匹配文本的开始字符

$

匹配文本的结束字符

.

匹配任何单个字符

*

匹配零个或多个在它前面的字符串

+

匹配前面的字符1次或多次

<字符串>

匹配包含指定的字符串的文本

[字符集合]

匹配字符集合中的任何一个字符

匹配不在括号中的任何字符

字符串{n}

匹配前面的字符串至少n次

字符串{n,m}

匹配前面的字符串至少n次,至多m次,如果n为0,表示此参数为可选参数

6.8.1 查询以特定字符或字符串开头的记录

SELECT * FROM tab1 WHERE tab1.字段 REGEXP '^b'

备注:查询tab1中所有tab1.字段的值是以b开头的记录

SELECT * FROM tab1 WHERE tab1.字段 REGEXP '^be'

备注:查询tab1中所有tab1.字段的值是以be开头的记录

6.8.2 查询以特定字符或字符串结尾的记录

备注:查询tab1中所有tab1.字段的值是以b结尾的记录

备注:查询tab1中所有tab1.字段的值是以be结尾的记录

6.8.3 用符号.来代替字符串中的任意一个字符

备注:查询tab1中所有tab1.字段的值包含a与g,而且中间只有一个字符的记录

6.8.4 使用*+来匹配多个字符

备注:查询tab1中所有tab1.字段的值是以b开头,且b后面出现a字符的记录(如果没出现a,也符合条件)

备注:查询tab1中所有tab1.字段的值是以b开头,且b后面出现a记录的记录(必须有a)

6.8.5 匹配指定字符串

备注:查询tab1中所有tab1.字段的值包含on或者ap的记录

注意:类似与like,但是比like可以匹配的多

6.8.6 匹配指定字符中的任意一个

备注:查询tab1中所有tab1.字段的值包含o或者t的记录

注意:如果是连续的数字或字母,可以用[1-5][a-d]来代替

6.8.7 匹配指定字符以外的字符

备注:查询tab1中所有tab1.字段的值不包含a-e的字符的记录

6.8.8 使用{n}或者{n,m}来指定字符串连续出现的次数

备注:查询tab1中所有tab1.字段的值连续2个t的字符的记录

备注:查询tab1中所有tab1.字段的值最少连续2个t,最多连续4个t的字符的记录

最后更新于

这有帮助吗?