MySQL NOT REGEXP не работает при исключении результатов - PullRequest
0 голосов
/ 18 декабря 2018

Мне нужны только строки, которые не содержат ни одного слова, совпадающего с 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'

1 Ответ

0 голосов
/ 18 декабря 2018

Как отмечалось в комментариях, у вас есть небольшая синтаксическая проблема в выражении REGEXP.Но, в дополнение к этому, вы должны окружить чередование границами слов, потому что вы хотите сопоставлять / не сопоставлять целые слова, но не слова, которые могут отображаться в виде подстрок.

WHERE user_agent NOT REGEXP '[[:<:]](ligatus|googlebot|appengine)[[:>:]]'

Я включил только первоетри условия, чтобы оно помещалось в одну строку, но вы можете использовать полное чередование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...