Тестовая строка для слов с 3 повторяющимися последовательными символами - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь получить выражение Regex, которое будет удовлетворено, если задана строка, содержащая хотя бы 1 слово, состоящее из 3 или более повторяющихся последовательных символов, и без других символов:

Testing AAAAAA Test -Действительный

Testing AAAAAAB Test - Неверный

Предыдущего решения, которого я достиг, было недостаточно, чтобы распознать, были ли в слове разные символы:

/^(?:(.)(?!\1{2}))+$/gi

По сути, это было просто тестирование, если 2 символа после каждого символа равны ему.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

Добавить границы слов.И используйте {2,} для соответствия как минимум 2 повторений.

/\b(.)\1{2,}\b/

Нет необходимости в i, так как вы не соответствуете буквам, поэтому регистр не имеет значения.И g не нужен только при тестировании;это полезно, только если вы возвращаете все совпадения или делаете замену.

0 голосов
/ 08 декабря 2018

Как насчет

\b(.)\1{2,}\b

, что составляет

\b    word boundary
(.)   something
\1    previous thing...
{2,}  ...twice or more
\b    word boundary

https://regex101.com/r/BKHkOc/3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...