@a--x

Как regexp'ом найти все вхождения подстроки, если некоторые перекрываются с уже найденными?

Есть текст. Хочу найти все комбинации из двух слов,
которые стоят рядом и чем-то разделены (пробелом), и чтобы второе слово было длиной 3 символа или больше.

Записал регулярное выражение
\S+\W+?\S{3,}
Проверяю: https://regex101.com/r/m8GiSB/1

Для текста "«Тостер» — это узкоспециализированный сервис вопросов и ответов, ..."
получаю вхождения:
1. «Тостер» — это
2. узкоспециализированный сервис
3. вопросов и ответов,
...

Но мне нужны еще и такие:
4. это узкоспециализированный
5. сервис вопросов

Как заставить regexp продолжать поиск не после завершения найденного вхождения,
а возвращаться к предыдущему пробелу? Чтобы находил все комбинации стоящих двух подряд слов.
  • Вопрос задан
  • 727 просмотров
Пригласить эксперта
Ответы на вопрос 1
dollar
@dollar
Делай добро и бросай его в воду.
Какой язык программирования?

Например, в JS есть функция exec, которая итерируется, и в теле цикла можно поменять текущую позицию поиска, которая хранится в переменной lastIndex.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы