一、正则表达式介绍
正则表达式通常被用来检索或替换那些符合某个模式的文本内容,根据指定的匹配模式匹配文本中符合要求的特殊字符串。
如可用于查找一篇文章中重复的单词或者替换用户输入的某些敏感词等
MySQL中使用regexp关键字指定正则表达式的字符匹配模式
二、常用字符串匹配列表
选项 |
说明 |
例子 |
匹配值示例 |
^ |
匹配文本的开始字符 |
‘^b’匹配以字母b开头的字符串 |
Book,big
|
$ |
匹配文本的结束字符 |
‘st$’匹配以st结尾的字符串 |
Test,resist |
. |
匹配任何单个字符 |
‘b.t’匹配任何b和t之间有一个字符 |
Bit,bat,but |
* |
匹配零个或多个在它前面的字符 |
‘f*n’匹配字符n前面有任意个字符f |
Fn,fan |
+ |
匹配前面的字符一次或多次 |
‘ba+’匹配以b开头后面紧跟至少有一个a |
Ba,bay,bay |
<字符串> |
匹配包含指定字符串的文本 |
‘fa’ |
Fan,afa,faaf |
[字符集合] |
匹配字符集合中的任何一个字符 |
‘[xz]’匹配x或者z |
Dizzy,extra |
[^] |
匹配不在括号中的任何字符 |
‘[^abc]’匹配不包含a,b,c的字符串 |
Desk,fox |
字符串{n,} |
匹配前面的字符串至少n次 |
B{2}匹配2个或多个b |
Bbb,bbbb, |
字符串{n,m} |
匹配前面的字符串至少n次,至多m次。如果n为0,此参数为可选 |
B{2,4}匹配最少2个,最多4个b |
Bb,bbb,bbbb |
举例说明:
select *from fruits where f_name regexp '^b'; ------查询字母b开头的记录
select *from fruits where f_name regexp 'y$'; ------查询字母y结尾的记录