大家好,又见面了,我是你们的朋友全栈君。
通配符
用在like后的字符串里的符号,关键字是 like。表示要跟like后的字符串完全匹配才能匹配上。如果没有通配符,匹配字符串时,like就跟等于号是相同含义的。
like和等于的区别就是like后字符串里面可以插入一些通配符,类似于可变字符,使得字符串匹配难度降低一点。通配符有下面两个。
%(百分号)匹配任意多个字符(0个或多个)
_ (下划线)匹配一个字符 (有且仅有一个)
正则表达式
关键字是 regexp(regular expression简写)。
正则匹配不用完全匹配,只需包含就行。比如:
order_num中包含00的字符串都会被匹配到。
常用的几种正则表达式:
1. 中括号[]。表示匹配[]内的任一字符,比如
会把字符串中含有005、006或者007的字符串都匹配到。中括号除了列出全部可匹配值的写法外,也可用-作范围匹配。比如[0-9]表示匹配0到9的10个数字中的任意个。匹配字母或者数字可写成[0-9a-zA-Z]。中括号内第一位加上^符号:表示会匹配除了这些字符的任一字符,比如[^1-9]可以匹配到除数字外的任一字符。mysql还定义了字符类,便于我们快捷进行匹配:比如[:alnum:]匹配字母和数字。
2. 竖线|。表示或。比如你想匹配order_num等于2005或者2006的记录。可以这样写:
3. 小括号()。可以限定优先级,或者作为组合。
4. 点号.。表示任意的一个字符。
5. 数量控制符。
元字符 | 说明 |
* |
0个或多个 |
+ | 1个或多个 |
? | 0个或1个 |
{n} | n个 |
{n,} | [n,+∞) |
{n,m} | [n,m] |
6.定位符 :$ 文本的开头 ^ 文本的末尾
加上行头行尾限制,类似于用like关键字匹配。
7.转义。MySQL使用两个反斜杠来表示转义\\。比如匹配.符号,可以写成”\\.”.
8. 大小写问题。mysql正则匹配不区分大小写,如果需要区分,可以加binary关键字。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151231.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...