我只希望行中不包含REGEXP中匹配的任何单词,但是某种程度上它不能正常工作。
我发现这是不包含20行
的替代方法AND user_agent NOT LIKE 'word'
但是我的REGEXP似乎坏了,这是一行:
AND user_agent NOT REGEXP '/(ligatus|googlebot|appengine|Mediapartners-Google|semrushbot|ipad|iphone|android|admantx|MJ12bot|CCBot|bingbot|HybridBot|crawler)/gmi'
答案 0 :(得分:1)
正如评论所指出的那样,您的REGEXP
表达式中有一个语法上的小问题。但是,除此之外,您还应该在单词边界周围加上交替字符,因为您要匹配/不匹配整个单词,而不要匹配可能显示为子字符串的单词。
WHERE user_agent NOT REGEXP '[[:<:]](ligatus|googlebot|appengine)[[:>:]]'
我只包括了前三个术语,所以它可以放在一行中,但是您可以使用完整的替换形式。