\\-表示-
\\.表示.
\\\表示\
\\f表示换页
\\n表示换行
\\r表示回车
\\t表示制表
\\v表示纵向制表
9.2.6匹配字符类
[:alnum:] 任意字母和数字(同[a-zA-Z0-9])
[:alpha:] 任意字符(同[a-zA-Z])
[:blank:] 空格和制表符(同[\\t])
[:cntrl:] ASCII控制字符(ACII 0到31和127)
[:digit:] 任意数字(同[0-9])
[:graph:] 与[:print:]相同,但不包括空格
[:lower:] 任意小写字母
[:print:] 任意可打印字符
[:punct:] 既不在[:alnum:]又不在[:cntrl:]中的任意字符
[:space:] 包括空格在内的任意空白字符(同[\\f\\n\\r\\t\\v])
[:upper:] 任意大写字母(同[A-Z])
[:xdigit:] 任意十六进制数字(同[a-fA-F0-9])
9.2.6匹配多个实例
SELECT prod_name FROM products
WHERE prod_name REGEXP '\\([0-9] sticks \\)' ORDER BY prod_name;//结果如下
+----------------+
| prod_name |
+----------------+
| TNT (1 stick) |
| TNT (5 sticks) |
+----------------+
正则表达式\\([0-9]sticks \\)需要说明一下。\\(匹配(,[0-9]匹配任意数字(这个例子中为1和5),sticks 匹配stick和sticks(s后的?使s可选,因为?匹配它掐年的任何字符的0次或1次出现),\\)匹配)。
SELECT prod_name FROM products
WHERE prod_name REGEXP '[[:digit:]]{4}' ORDER BY prod_name;
+--------------+
| prod_name |
+--------------+
| JetPack 1000 |
| JetPack 2000 |
+--------------+
2 rows in set (0.00 sec)
[[:digit:]]{4}中{4}要求它前面的字符(任意数字)出现四次,所以[[:digit:]]{4}表示连在一起的任意4位数
9.2.8定位符
^ 文本的开始
$ 文本的结尾
[[:<:]] 词的开始
[[:>:]] 词的结尾
SELECT prod_name FROM products
WHERE prod_name REGEXP '^[0-9\\.]' ORDER BY prod_name;
^[0-9\\.]表示只在.或任意数字为串中第一个字符时才匹配它们。