Найти слово начинающееся на м и состоящее больше чем из 3х букв 
		
		
		
		Здравствуйте. Делаю поиск по сайту с подсказкой слов. Бьюсь уже не первый день над регулярным выражением. Никак не выходит составить его правильно. 
	Есть, к примеру, строка: "мой монитор умолк". Нужно найти слово "монитор". Использую регулярное выражение: Код: 
	/\bм\w*\b/uiКорректирую регулярку: Код: 
	/\bм\w{3,}\b/uiКод: 
	/\bмонито\w{3,}\b/uiКолдовство со скобками не давало нужного результата, или я чего-то недопонимаю. По сути, {3,} должно быть всего букв в слове, то есть маска должна быть какой-то примерно такой: Код: 
	/\b(монито\w*){3,}\b/ui | 
	
		
 Цитата: 
	
  | 
	
		
 Ilya_Ru, 
	
<script>
   document.write("мой монитор умолк".match(/(?:^|\s+)(м[а-яё]{3,})/ui)[1])
</script>
 | 
	
		
 Если проблема была в использовании \b, то слово "монитор" нашлось бы с использованием даже такой регулярки: /монито\w{3,}/ui или /(монито\w*){3,}/ui , или даже без использования \w: /монито[а-я]{3,}/ui но не работает... Здесь проблема в чем-то другом... В чем - я не пойму... 
	В таком случае слово "монитор", увы, уже идет мимо кассы: 
<script>
   document.write("мой монитор умолк".match(/(?:^|\s+)(монито[а-яё]{3,})/ui)[1])
</script>
 | 
	
		
 Ilya_Ru, 
	так если длина шаблона больше 3 что мешает использовать * вместо {3,}  | 
	
		
 Ilya_Ru, 
	
<script>
    let str = 'м', num = Math.max(0, 4 - str.length),
    reg = new RegExp(`(?:^|\\s+)(${str}[а-яё]{${num},})`, 'ui');
    document.write("мой монитор умолк".match(reg)[1])
</script>
 | 
	
		
 Достаточно интересный подход. Спасибо. А я мучал только регулярку. Хотя, я думаю, одной только регуляркой, без вспомогательных проверок, вопрос все равно бы не решился. 
	 | 
	
		
 Malleys, 
	:blink:  | 
| Часовой пояс GMT +3, время: 13:28. |