К сожалению, я тщетно пытаюсь написать подходящее регулярное выражение JavaScript, которое соответствует следующему случаю:
- он сопоставляется с однострочной строкой, а не с многострочной.
- ТОЛЬКО положительный результат, если строка содержит менее 6 слов
- И если оно содержит любое из слов "Там", "Это", "Собака".
RegEx для точки 2, вероятно:
^(\s*\S+(?:\s+\S+){1,4}\s*)$ демонстрация
RegEx для точки 3, вероятно:
^(?=.*(There\b|\This\b|\bDog)).*$ демонстрация
Теперь у меня проблема объединить эти 2 регулярных выражения в одно. Я пробовал что-то вроде: ^(\s*\S+(?:\s+\S+){1,5}\s*)(?=.*(There\b|\bThis\b|Dog)).*$ демо
Как я могу правильно совместить там 2 RegEx?
Некоторые примеры:
Hello I am under 6 words -> отрицательный, нет триггерного слова
Hello I am under dog words -> положительный до 6 слов + триггерное слово (собака)
Hello I am dog but with a longer string -> отрицательный, потому что более 6 слов
Dog -> положительный, до 6 слов + триггерное слово (собака)

