一、通配符

通配符:用来匹配值的一部分的特殊字符。

必须使用LIKE操作符。


% 表示任何字符出现任意次数,但不匹配NULL。

_  表示任意的单个字符。


二、正则表达式

使用REGEXP的操作符,表示后面跟的是正则表达式。

正则表达式中:

.  表示匹配任意一个字符。

|  表示OR的意思。

[123]ton 是[1|2|3]ton 的缩写。

^  表示否定的意思。[^123]表示匹除了123之外的任何东西。

-  表示范围。如:[1-5]表示1到5。

\\ 作为特殊字符的前导。如\\- 表示查找-。


[:alnum:] 任意字母和数字(同[a-zA-Z0-9])

[:alpha:] 任意字符(同[a-zA-Z])

[:blank:] 空格和制表(同[\\t])

[:cntrl:] ASCII控制字符(ASCII0到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])


* 0个或多个匹配

+ 1个或多个匹配(等于{1,})

? 0个或1个匹配(等于{0,1})

{n} 指定数目的匹配

{n,} 不少于指定数目的匹配

{n,m} 匹配数目的范围(m不超过255)


定位符:

^ 文本的开始

$ 文本的结尾

[[:<:]] 词的开始

[[:>:]] 词的结尾