Кто-нибудь обнаружил, что REGEX "\ b" не работает в MYSQL? - PullRequest
12 голосов
/ 19 июня 2011

Кто-нибудь обнаружил, что REGEX "\ b" не работает в MYSQL?

У меня есть хороший кусок регулярного выражения, который хорошо сочетается с использованием механизмов регулярного выражения

^(//)?w7\b

Но когдаиспользуйте его как часть запроса MYSQL

WHERE ( e.department REGEXP '^(//)?w7\b' )

, он не будет совпадать.Если я удаляю компонент \ b, сопоставление работает хорошо, но не с той точностью, которая мне нужна с \ b (в основном мне нужно соответствовать только целому слову W7)

Спасибо!

1 Ответ

15 голосов
/ 19 июня 2011

Посмотрите на документы REGEXP вниз.Маркеры начала слова / конца слова:

[[:<:]], [[:>:]]

Эти маркеры обозначают границы слов.Они соответствуют началу и концу слов соответственно.

Попробуйте:

WHERE ( e.department REGEXP '^(//)?w7[[:>:]]' )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...