mysql正则表达式

目录

1、示例:

2、特殊字符说明:

3、空白元字符

4、配字符类

5、重复元字符

6、定位符

7、综合使用及说明


1、示例:

-- 正则^[0-9\\.]的说明: ^匹配串的开始,因此,^[0-9\\.]只在.或任意数字为串中第
-- 一个字符时才匹配它们
select '.5 ton'  REGEXP '^[0-9\\.]' -- 匹配结果返回1,不匹配结果返回0

2、特殊字符说明:

特殊字符说明
.(英文句号)匹配任意一个字符
|匹配其中之一,等同于or;‘1|2|3’:匹配1或2或3
[]匹配几个字符之一,‘[135]’ 等同于 ‘1|3|5’
-表示范围,“[0-9]”匹配任意一个数字,等同[0123456789],
“[a-zA-Z]”匹配任意一个字母字符
\\转义字符,用来转义特殊字符“.,|,[],()”等,及空白元字符

3、空白元字符

元字符说明
\\f换页
\\n换行
\\r回车
\\t制表
\\v纵向制表

4、配字符类

说明
[:alnum:]
任意字母和数字(同 [a-zA-Z0-9]
[:alpha:]
任意字符(同 [a-zA-Z]
[:blank:]
空格和制表(同 [\\t]
[:cntrl:]
ASCII 控制字符( ASCII 0 31 127
[:digit:]
任意数字(同 [0-9]
[:graph:]
[:print:] 相同,但不包括空格
[:lower:]
任意小写字母(同 [a-z]
[:print:]
任意可打印字符
[:punct:]
既不在 [:alnum:] 又不在 [:cntrl:] 中的任意字符
[:space:]
包括空格在内的任意空白字符(同 [\\f\\n\\r\\t\\v]
[:upper:]
任意大写字母(同 [A-Z]
[:xdigit:]
任意十六进制数字(同 [a-fA-F0-9]

5、重复元字符

元字符说明
*
0 个或多个匹配
+
1 个或多个匹配(等于 {1,}
?
0 个或 1 个匹配(等于 {0,1}
{n}
指定数目的匹配
{n,}
不少于指定数目的匹配
{n,m}
匹配数目的范围(
m 不超过 255

6、定位符

元字符说明
^
文本的开始
$
文本的结尾
[[:<:]]
词的开始
[[:>:]]
词的结尾

7、综合使用及说明

-- 输入
SELECT prod_name
FROM products
WHERE prod_name REGEXP '\\([0-9] sticks?\\)'
ORDER BY prod_name

-- 输出
--------------------
--|  prod_name  |---
--|TNT (1 stick)|---
--|TNT (5 sticks)|--
--------------------

-- 说明:正则表达式\\([0-9] sticks?\\)中,\\(匹配(,
--[0-9]匹配任意数字(这个例子中为1和5),sticks?匹配stick
--和sticks(s后的?使s可选,因为?匹配它前面的任何字符的0次或1次出
--现),\\)匹配)。
-- 输入
SELECT prod_name
FROM products
WHERE prod_name REGEXP '[[:digit:]]{4}'
ORDER BY prod_name

-- 输出
--------------------
--|  prod_name  |---
--|JetPack 1000 |---
--|JetPack 5000 |---
--------------------

-- [:digit:]匹配任意数字,因而它为数字的一个集
-- 合。{4}确切地要求它前面的字符(任意数字)出现4次,所以
-- [[:digit:]]{4}匹配连在一起的任意4位数字

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值