регулярное выражение PHP, чтобы получить слова с повторяющимися символами в строке

Я пытаюсь получить слова в строке с повторяющимися символами.
Например: «Я-я вижу это видео. Это очень хорошо».

Как я могу получить результат:
loooovve
awesooooommeee
?

0

Решение

Вы можете использовать это регулярное выражение с обратной ссылкой:

\b\w*(\w)\1\w*

RegEx Demo

RegEx Breakup:

\b     # word boundary
\w*    # match 0 or more word characters
(\w)   # match a single word char and capture it as group #1
\1     # back-reference to captured group #1 to make sure we have a *repeat*
\w*    # match 0 or more word characters

Кстати, это также будет соответствовать II так как он имеет повторяющийся характер I,

1

Другие решения

Шаблон для сопоставления всех слов с 3+ повторяющимися буквами:

\b\w*(\w)\1{2}\w*

II loooovve это видео. Это awesooooommeee.


https://regex101.com/r/cP7kT7/1

0