mysql 中的正则表达式

本文详细介绍了正则表达式的功能和操作,包括REGEXP、RLIKE等关键词的使用,正则表达式的语法如符号匹配、数量匹配及字符类,以及如何使用正则函数进行字符串的匹配、替换和提取。

参考原文:12.5.2 Regular Expressions

功能和操作

名称描述
NOT REGEXPREGEXP的反义词
REGEXP字符串是否匹配正则表达式, 这三个关键词是同一个意思
REGEXP_LIKE()字符串是否匹配正则表达式
RLIKE字符串是否匹配正则表达式
REGEXP_INSTR()符合正则的子字符串的初始位置
REGEXP_REPLACE()替换匹配正则的字符串
REGEXP_SUBSTR()返回匹配正则的字符串

正则表达式语法

符号匹配实例
^匹配字符串开头
$匹配字符串结尾
.任意字符,除了回车\r和换行\n,如果指定多行,也能匹配。
[…]匹配中括号中的 任意一个。
[a-z]-表示范围
[^a-z]^表示不再这个范围内
数量匹配
a{1,10}表示匹配长度在1到10 之间
a{3,}表示匹配长度大于等于3
a{,10}表示匹配长度在10之内
a{5}表示匹配长度是5个
a?表示匹配长度是1个或零个
a*表示匹配长度是0个或多个
a+表示匹配长度是一个或者以上
a1 | b222满足二者之一
字符类[:character_class:]
字符类含义
alnum字母和数字
alpha字母,类似\w+
blank空格
cntrlControl characters
digit数字, 类似于\d+
graphGraphic characters
lower小写字母
printGraphic or space characters
punct标点符号
space空格,tab, 回车,换行
upper大写字母
xdigit16进制的数字,包括0-9, a-f

正则函数使用

基本使用

字符串 [NOT] REGEXP|RLIKE 正则表达式,返回0或者1
两个关键字,是REGEXP_LIKE()的别名,效果一样
REGEXP_LIKE(expr, pat[, match_type])

参数含义
expr需要匹配的字符串
pat正则表达式
match_type匹配类型
c大小写区别
i不区别大小写
m多行匹配,识别行结束符, 可以在正则表达式中使用(?m)
n(.)能匹配行结束符号
u仅匹配Unix的行结束符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值