mysql通配符和正则表达式

mysql通配符和正则表达式通配符关键字是like。表示要跟like后的字符串完全匹配才能匹配上。如果没有通配符,匹配字符串时,like就跟等于号是相同含义的。like和等于的区别就是like后字符串里面可以插入一些通配符,类似于可变字符,使得字符串匹配难度降低一点。通配符有下面两个。%(百分号)匹配任意多个字符(0个或多个)_(下划线)匹配一个字符(有且仅有一个)正则表达式关键字是regexp(regularexpression简写)。正则匹配不用完全匹配,只需包含…

大家好,又见面了,我是你们的朋友全栈君。

通配符

用在like后的字符串里的符号,关键字是 like。表示要跟like后的字符串完全匹配才能匹配上。如果没有通配符,匹配字符串时,like就跟等于号是相同含义的。

mysql通配符和正则表达式

 like和等于的区别就是like后字符串里面可以插入一些通配符,类似于可变字符,使得字符串匹配难度降低一点。通配符有下面两个。

%(百分号)匹配任意多个字符(0个或多个)

mysql通配符和正则表达式

mysql通配符和正则表达式

_ (下划线)匹配一个字符 (有且仅有一个)

mysql通配符和正则表达式

 mysql通配符和正则表达式mysql通配符和正则表达式

正则表达式

关键字是 regexp(regular expression简写)。

正则匹配不用完全匹配,只需包含就行。比如:

mysql通配符和正则表达式

order_num中包含00的字符串都会被匹配到。

常用的几种正则表达式:

1. 中括号[]。表示匹配[]内的任一字符,比如

mysql通配符和正则表达式

会把字符串中含有005、006或者007的字符串都匹配到。中括号除了列出全部可匹配值的写法外,也可用-作范围匹配。比如[0-9]表示匹配0到9的10个数字中的任意个。匹配字母或者数字可写成[0-9a-zA-Z]。中括号内第一位加上^符号:表示会匹配除了这些字符的任一字符,比如[^1-9]可以匹配到除数字外的任一字符。mysql还定义了字符类,便于我们快捷进行匹配:比如[:alnum:]匹配字母和数字。

2. 竖线|。表示或。比如你想匹配order_num等于2005或者2006的记录。可以这样写:

mysql通配符和正则表达式

3. 小括号()。可以限定优先级,或者作为组合。

4. 点号.。表示任意的一个字符。

5. 数量控制符

元字符 说明

*

0个或多个
+ 1个或多个
? 0个或1个
{n} n个
{n,} [n,+∞)
{n,m} [n,m]

6.定位符$ 文本的开头   ^ 文本的末尾

mysql通配符和正则表达式

 加上行头行尾限制,类似于用like关键字匹配。

7.转义。MySQL使用两个反斜杠来表示转义\\。比如匹配.符号,可以写成”\\.”.

8. 大小写问题。mysql正则匹配不区分大小写,如果需要区分,可以加binary关键字。

mysql通配符和正则表达式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151231.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号