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

SQL Server如何使用正则表达式匹配几个字符之一

匹配任何单一字符。但是,如果你只想匹配特定的字符,怎么办?可通过指定一组用[和]括起来的字符来完成,如下所示:

SELECT prod_name
FROM products
WHERE prod_name REGEXP'[123] Ton'
ORDER BY prod_name;

输出

prod_name
1 ton anvil
2 ton anvil

这里,使用了正则表达式[123] Ton。[123]定义一组字符,它的意思是匹配1或2或3,因此,1 ton和2 ton都匹配且返回(没有3 ton)。

正如所见, []是另一种形式的OR语句。 事实上,正则表达式[123]Ton为[1|2|3]Ton的缩写,也可以使用后者。但是,需要用[]来定义OR语句查找什么。为更好地理解这一点,请看下面的例子:

SELECT prod_name
FROM products
WHERE prod_name REGEXP'112|3 Ton'
ORDER BY prod_name;

输出

prod_name
1ton anvil
2 ton anvil
JetPack 1000
JetPack 2000
TNT(1 stick)

这并不是期望的输出。两个要求的行被检索出来,但还检索出了另外3行。之所以这样是由于MySQL假定你的意思是’1’或’2’或’3 ton’。除非把字符|括在一个集合中,否则它将应用于整个串。

字符集合也可以被否定,即,它们将匹配除指定字符外的任何东西。为否定一个字符集,在集合的开始处放置一个^即可。因此,尽管[123]匹配字符1、2或3,但[^123]却匹配除这些字符外的任何东西。

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

喜欢 (2)or分享 (0)

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