欢迎来到5分享! 微信公众号   新浪微博

5分享

技术类别:
当前位置: 主页 > 技术分享 > 数据库 >

MySQL数据库 正则表达式学习

时间:2018-08-03 09:34来源:原创 作者:5分享 点击:
MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。 如果您了解PHP或Perl,那么操作起来就非常简单,因为MySQL的正则表达式匹配与这些脚本的类似

MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。

如果您了解PHP或Perl,那么操作起来就非常简单,因为MySQL的正则表达式匹配与这些脚本的类似。

模式描述
^匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ' ' 或 ' ' 之后的位置。
$匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 ' ' 或 ' ' 之前的位置。
.匹配除 " " 之外的任何单个字符。要匹配包括 ' ' 在内的任何字符,请使用象 '[. ]' 的模式。
[...]字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。
[^...]负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。
p1|p2|p3匹配 p1 或 p2 或 p3。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。
*匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
{n}n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。
{n,m}m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。

实例


查找name字段中以'na'为开头的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^na';


查找name字段中以'bo'为结尾的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'bo$';


查找name字段中包含'mak'字符串的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mak';


查找name字段中以元音字符开头或以'bo'字符串结尾的所有数据:

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|bo$';



服务器,数据库问题系统问题,硬件报价,虚拟化,服务部署可以扫描下方二维码,添加技术支持,7*12小时在线解答或是QQ联系我们。

欢迎关注【5分享】(fivsha)   

5分享公众号.jpg

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
最新评论
遇到困难可以给我发消息 遇到困难可以给我发消息