MySQL - [09] 正则表达式
select *
from t1
where name rlike '^[a-zA-Z]+$';
一、简介
正则表达式使用rlike
作为模式匹配的关键字,其语法结构如下
select column_name
from table_name
where column_name rlike 'pattern';
column_name
表示从中进行匹配的列名
table_name
表示从中查询数据的表名
pattern
是用户提供的正则表达式模式
pattern(正则表达式)的模式及其说明如下
表达式 | 说明 |
. |
与任何单个字符匹配(换行符除外)。 |
.* |
零次或多次匹配任何字符 |
.+ |
一次或多次匹配任何字符 |
[abc] |
匹配abc集中的任何字符 |
[^abc] |
匹配不在abc集中的任何字符 |
\d |
匹配任意数字字符 |
(?([^\r\n])\s) |
与任何空格字符匹配 |
\b |
在单词的开头或结尾匹配 |
^ |
在行首匹配 |
.$ |
匹配任何换行符 |
\w\r?\n |
匹配行尾的单词字符 |
(dog|cat) |
捕获表达式dog|cat 并对其进行隐式编号 |
(?<pet>dog|cat) |
捕获子表达式dog|cat 并将其命名为pet |
二、示例
(1)匹配以特定字符串开头的值:select * from fruits where name rlike '^[A-G]';
(2)匹配以特定字符串结尾的值:select * from fruits where name rlike 'e$';
(3)匹配包含指定字符串的值:select * from fruits where name rlike 'an';
(4)匹配包含特定长度字符串的值:select * from fruits where name rlike '^.{6}$';
(5)检查是否为n为数字:'^\d{n}$'
(6)检查是否为非零的正整数:'^[1-9]\d*$'
(7)检查是否为浮点数:'^(-?\d+)(.\d+)?$'
(8)检查是否为负整数:'^-\d+$'
(9)检查是否为正整数或浮点数:'^\d+(.\d+)?$'
(10)检查是否为正数:'^[1-9]\d*|0$'
(11)检查是否为非负整数:'^\d+$'
(12)检查是否为非负浮点数:'^\d+(.\d+)?$'
(13)检查是否为汉字:'^[\u4e00-\u9fa5]+$'
(14)检查是否为英文和数字:'^[A-Za-z0-9]+$'
(15)检查是否为纯英文字母:'^[a-zA-Z]+$'
(16)检查是否为大写英文字母:'^[A-Z]+$'
(17)检查是否为小写英文字母:'^[a-z]+$'
(18)邮箱地址:'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$'
(19)手机号码:'^\d{11}$'
(20)IP地址:'^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$'
(21)URL地址:'^(http|https)://[\w-]+(.[\w-]+)+([\w.,@?^=%&:/+#-]*[\w@?^=%&/+#-])?$'
— 业精于勤荒于嬉,行成于思毁于随 —
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2023-05-29 Docker - 在docker中部署Nginx
2023-05-29 Shell - shell中的数组
2023-05-29 Linux - crontab 详解