专业编程基础技术教程

网站首页 > 基础教程 正文

MySQL实战第71篇:正则表达式,常用的限定符,在MySQL中运用!

ccvgpt 2024-08-15 20:20:43 基础教程 8 ℃

欢迎来到MySQL实战第71篇,修炼500篇,就是为了给自己一个肯定。

【理论基础】

<1>* :重复零次或更多次

MySQL实战第71篇:正则表达式,常用的限定符,在MySQL中运用!

<2>+:重复一次或更多次

<3>:重复零次或多次

<4>{n}:重复n次

<5>{n,}:重复n次或更多次

<6>{n,m}:重复n到m次

<7>a|b:ab两项之间进行选择

<8>[abc]:定义匹配的字符范围是abc

<9>[^aeiou]:匹配除了aeiou这几个字符以外的任意字符

<10>.匹配除了换行符以外的任意字符

【正则表达式在MySQL中运用】

1.数据表环境

2.在fruits表中,查询水果名称f_name包含an或p的记录(|两边可以写单个字符,也可以写字符串)

select * from fruits where f_name regexp 'an|p';

2.在fruits表中,查询水果名称f_name包含b或p的记录([]只能匹配单个字符)

select * from fruits where f_name regexp '[bp]';

3.在fruits表中,查询水果名称f_name匹配字符集中除去a到x的其他字符的记录

select * from fruits where f_name regexp '[^a-x]';

4.在fruits表中,查询水果名称f_name不包括xyz字符的记录

select * from fruits where f_name not regexp '[xyz]';

5.在fruits表中,查询水果名称f_name中ab连续出现最少2次字符的记录

select * from fruits where f_name regexp '(ba){2,}';

6.在fruits表中,查询水果名称f_name中ab连续只出现2次字符的记录

select * from fruits where f_name regexp '(ba){2,}'and f_name not regexp '(ba){3,}';

7._与.的区别

注意:<1>_属于通配符范畴用like,而.属于正则表达式范畴用regex。

<2>____y表达的意思是y前面有且有四个字符,....y的意思是y前面至少有4个字符

select * from fruits where f_name regexp '....y';

select * from fruits where f_name regexp '.....y';

select * from fruits where f_name like '____y';

求关注,让一起我们修炼500篇,我们的MySQL!

Tags:

最近发表
标签列表