[[:blank:]] 等效于 [ \t]。
[:cntrl:] 匹配顺序值小于 32 或字符值为 127 的 ASCII 字符(控制字符)。控制字符包括换行符、换页符、退格符,等等。
[:graph:] 匹配打印字符。
[[:graph:]] 等效于 [[:alnum:][:punct:]]。
[:print:] 匹配打印字符和空格。
[[:print:]] 等效于 [[:graph:][:whitespace:]]。
[:punct:] 匹配其中一个字符: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~.
[:punct:] 子字符类不能包括当前归类中可用的非 ASCII 标点字符。
[:word:] 匹配当前归类中的字母、数字或下划线字符。
[[:word:]] 等效于 [[:alnum:]_]。
[:xdigit:] 匹配字符类 [0-9A-Fa-f] 中的字符。
正则表达式:所支持的其它语法约定
REGEXP 搜索条件和 REGEXP_SUBSTR 函数支持以下语法约定,同时它们假定反斜线为转义字符。而 SIMILAR TO 搜索表达式不支持这些约定。
正则表达式语法 名称和含义\0xxx 匹配值为 \0xxx 的字符,其中 xxx 是任何八进制数字序列,0 是零。例如,\0134 匹配反斜线。
\a 匹配报警字符。
\A 用在字符集外部以便匹配字符串的开头。
等效于在字符集外部使用的 ^。
\b 匹配退格字符。
\B 匹配反斜线字符 (\)。
\cX 匹配已命名的控制字符。例如,\cZ 代表 ctrl-Z。
\d 匹配当前归类中的一个数字。例如,以下语句搜索 Contacts.Phone 以查找以 00 结尾的所有电话号码: SELECT Surname, Surname, City, Phone FROM Contacts WHERE Phone REGEXP '\\d{8}00';
\d 既可用在字符类的内部也可用在字符类的外部,等效于 [[:digit:]]。
\D 匹配数字以外的任何字符。它的作用与 \d 正好相反。
\D 既可用在字符类的内部也可用在字符类的外部,等效于 [^[:digit:]]。
在方括号内使用取非速记时请务必谨慎。[\D\S] 与 [^\d\s] 并不相同。后者匹配数字或空格以外的任何字符。所以它匹配 x,但不匹配 8。而前者匹配不是数字或不是空格(满足两个条件之一)的任何字符。因为数字不是空格,空格也不是数字,所以 [\D\S] 可以匹配任何字符、数字、空格或其它字符。
\e 匹配转义字符。
\E 将由 \Q 启动的将元字符视为非元字符这一功能停止。
有关正则表达式元字符的列表,请参见。
\f 匹配换页符。
\n 匹配换行符。
\Q 将所有元字符视为非元字符,直到遇到 \E。例如,\Q[$\E 等效于 \[\$。
有关正则表达式元字符的列表,请参见。
\r 匹配回车符。
\s 匹配一个被视为白空格的空格或字符。例如,以下语句从 Products.ProductName 中返回名称中至少有一个空格的所有产品名: SELECT Name FROM Products WHERE Name REGEXP '.*\\s.*'