大纲
1、文件名匹配
2、LIKE操作符
3、使用正则表达式
一、文件名匹配
在Windows的CMD命令行和Linux的Bash中,都支持文件名通配,但是这个匹配能力非常弱,由于仅用于匹配文件名,所以也不算什么缺陷。比如我想查看后缀名为.txt的所有文件:# ls *.txt
通常支持的通配符有:* 匹配任意字符任意次
? 仅匹配任意单个字符
[0-9a-zA-Z] 字符集,匹配任意列出的单个字符
[^0-9a-zA-Z] 字符集取反,匹配未列出的单个字符
二、LIKE 操作符
前一篇博客中的操作符都是针对已知值进行过滤的,我们在过滤条件中使用的值都是已知的。但是这种方法并不是什么时候都好用。利用通配符可以创建特定的文本匹配模式。通配符(wildcard)就是对于MySQL来说,具有特殊含义的特殊字符。
为了在搜索子句中使用通配符,必须使用LIKE操作符。LIKE指示MySQL后面跟的搜索模式利用通配符匹配而不是直接相等(=)匹配进行比较。
MySQL支持几种通配符(不要和正则表达式搞混淆了):% 表示任何字符出现任意次数, 和Bash命令行的文件名通配符*含义相同
_ 下划线仅匹配单个字符而不是多个字符
[ ] 字符集
默认情况下,对于LIK