Mariadb V10.3.6 REGEXP выражение для 2 повторных слов - PullRequest
0 голосов
/ 10 мая 2018

Я ищу заявление REGEXP, чтобы cactch минимум 2 или более повторных слов в mariadb. Хотя этот код работает в php https://www.regextester.com/?fam=103328 как и ожидалось /(\w+\s\w.)\s.\1/ Я не смог заставить его работать в mariadb. Есть ли кто-нибудь, кто поможет мне с этим? Как можно использовать это в Мария ДБ?

SELECT * FROM hospital where 'title' REGEXP '/(\w+\s\w.*)\s.*\1/'

Результаты 0, когда есть тысячи

1 Ответ

0 голосов
/ 10 мая 2018

Прежде всего, избавьтесь от врезок, здесь не используются разделители регулярных выражений. Затем вы должны дважды убрать обратную косую черту, чтобы определить выходы регулярных выражений внутри шаблона.

Чтобы сопоставить повторяющийся кусок символов слова, затем 1+ пробельных символов, а затем снова кусок символов слов (два слова, разделенных пробелами), вы можете использовать

REGEXP '\\b(\\w+\\s+\\w+)\\b.*\\b\\1\\b'

См. Демоверсию regex .

Подробнее

  • \\b - граница слова
  • (\\w+\\s+\\w+) - Группа 1:
    • \\w+ - 1+ слово символов
    • \\s+ - 1+ пробельных символов
    • \\w+ - 1+ слово символов
  • \\b - граница слова
  • .* - любые 0+ символов, как можно больше
  • \\b\\1\\b - то же значение, которое хранится в группе 1 как целое слово (во избежание совпадения put in в put in and input insider).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...