MySQL REGEXP NOT组的运算符

时间:2016-01-07 06:41:26

标签: mysql regex

在这个虚拟示例中,我尝试匹配的每个动物都不是catdog(cat|dog)。因此,我需要NOT运算符来否定我的(cat|dog)组。 MySQL提供这样的东西吗?

SELECT 'I am a cat' REGEXP '^I am a [NOT](cat|dog)$'; -> 0
SELECT 'I am a dog' REGEXP '^I am a [NOT](cat|dog)$'; -> 0
SELECT 'I am a horse' REGEXP '^I am a [NOT](cat|dog)$'; -> 1
SELECT 'I am not a dog' REGEXP '^I am a [NOT](cat|dog)$'; -> 1
SELECT 'I am a catwoman' REGEXP '^I am a [NOT](cat|dog)$'; -> 1

我已多次阅读MySQL REGEXP documentation但未成功。

1 个答案:

答案 0 :(得分:1)

试试这个:

Payload Data

一开始的插入符将检查该单词不是猫或狗。如果做不到这一点,它将检查声明是否说“不是猫”。或者'不是狗'。该解决方案假设除了实际名称之外,它是表达动物不是猫或狗的唯一其他方式。

SQLFiddle