Показать сообщение отдельно
  #1 (permalink)  
Старый 14.05.2020, 14:12
Аспирант
Отправить личное сообщение для Ilya_Ru Посмотреть профиль Найти все сообщения от Ilya_Ru
 
Регистрация: 06.04.2015
Сообщений: 42

Найти слово начинающееся на м и состоящее больше чем из 3х букв
Здравствуйте. Делаю поиск по сайту с подсказкой слов. Бьюсь уже не первый день над регулярным выражением. Никак не выходит составить его правильно.
Есть, к примеру, строка: "мой монитор умолк".
Нужно найти слово "монитор". Использую регулярное выражение:
Код:
/\bм\w*\b/ui
в него попадает слово "мой", это слово мне не нужно.
Корректирую регулярку:
Код:
/\bм\w{3,}\b/ui
в этом случае находит слово "монитор", но если пользователь введёт слово целиком или без последних 2х букв - слово монитор не будет найдено, то есть регулярное выражение:
Код:
/\bмонито\w{3,}\b/ui
не найдет "монитор", а нужно, чтобы нашло...
Колдовство со скобками не давало нужного результата, или я чего-то недопонимаю. По сути, {3,} должно быть всего букв в слове, то есть маска должна быть какой-то примерно такой:
Код:
/\b(монито\w*){3,}\b/ui
но в данном случае она совсем не работает. Помогите, пожалуйста. https://regex101.com/r/QhHHsy/1

Последний раз редактировалось Ilya_Ru, 14.05.2020 в 14:15.
Ответить с цитированием