Как я могу написать регулярное выражение "Все символы одинаковы"? - PullRequest
7 голосов
/ 15 июля 2010

Я бы хотел, чтобы оно совпадало:

aaaaaa
bb
c

, но не:

aaabaaa
cd

...

Ответы [ 4 ]

21 голосов
/ 15 июля 2010

Предполагая, что механизм регулярных выражений поддерживает обратные ссылки,

^(.)\1*$

На Java это будет

theString.matches("(.)\\1*")
8 голосов
/ 15 июля 2010

Использование обратных ссылок:

(.)(\1)*

Чтение: соответствует любому символу, за которым следует один и тот же символ 0 или более раз.

В зависимости от механизма регулярных выражений и ваших потребностей, вы можете захотетьзакрепите регулярное выражение, чтобы оно совпадало только со всей строкой, а не с подстрокой.

0 голосов
/ 15 июля 2010

Просто для участия в этом вопросе вы можете использовать BackRefence:

(\ w +) \ s + \ 1

Он проверяет повторяющиеся слова, разделенные пробелом.

0 голосов
/ 15 июля 2010

Если вы хотите захватить то, что вам подходит, это ^((.)\2*)$

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