外地客户如不方便将要进行数据恢复的储存设备(如硬盘,U盘等)送到我们数据恢复中心,可以通过快递至我数据恢复中心。

SQL Server如何使用正则表达式匹配特殊字符

正则表达式语言由具有特定含义的特殊字符构成。我们已经看到.、 []、|和-等,还有其他一些字符。请问,如果你需要匹配这些字符,应该怎么办呢?例如,如果要找出包含.字符的值,怎样搜索?请看下面的例子:

SELECT vend_name
FROM vendors
WHERE vend_name REGEXP'.'
ORDER BY vend_name;

输出

vend_name
ACME
Anvils R Us
Furball Inc.
Jet Set
Jouets Et Ours
LT Supplies

这并不是期望的输出,.匹配任意字符,因此每个行都被检索出来。

为了匹配特殊字符,必须用\\为前导。 \\-表示查找-, \\.表示查找.

SELECT vend_name
FROM vendors
WHERE vend_name REGEXP '\\.'
ORDER BY vend_name;

输出

vend_name
Furball Inc.

这才是期望的输出。\\.匹配.,所以只检索出一行。这种处理就是所谓的转义(escaping) ,正则表达式内具有特殊意义的所有字符都必须以这种方式转义。这包括.、|、[]以及迄今为止使用过的其他特殊字符。

\\也用来引用元字符(具有特殊含义的字符)

空白元字符 说明
\\f
\\n
\Ir
\it
\V
说明
换页
换行
回车
制表
纵向制表

匹配\ 为了匹配反斜杠(\)字符本身,需要使用\\\。

\或\\? 多数正则表达式实现使用单个反斜杠转义特殊字符,以便能使用这些字符本身。 但MySQL要求两个反斜杠 (MySQL自己解释一个,正则表达式库解释另一个) 。

转载请注明:成都千喜数据恢复中心 » SQL Server如何使用正则表达式匹配特殊字符

喜欢 (1)or分享 (0)

您必须 登录 才能发表评论!