Регулярное выражение Php preg_match повторяется

У меня есть такая строка в php.

$string = "123451" 

который содержит непоследовательные повторяющиеся символы 1. Как сопоставить повторяющиеся символы с помощью preg_match.

Я просмотрел и нашел preg_match('/(.)\1\1/', $string)), но он работает только для повторяющихся последовательных символов.


person user1787423    schedule 31.10.2012    source источник
comment
Чего вы пытаетесь достичь?   -  person shapeshifter    schedule 31.10.2012
comment
Я пытаюсь добиться проверки ошибок в строке, которая возвращает true, если найдены повторяющиеся символы. Я разрешаю такие строки, как 1234, 1245 и т. Д., Но не 1223, 1434.. Другими словами, я хочу, чтобы каждая цифра появлялась только один раз. заранее спасибо.   -  person user1787423    schedule 31.10.2012


Ответы (1)


Как насчет чего-то вроде

(\d+).*\1

Если вы получаете любое совпадение, есть повторяющийся номер.

person shapeshifter    schedule 31.10.2012
comment
да, это работает. большое спасибо.. preg_match('/(\d+).*\1/', $string) - person user1787423; 31.10.2012
comment
Почему плюс? Разве мы вообще не ищем какой-либо повторяющийся символ, а не последовательности повторяющихся символов? - person Mark Fowler; 12.04.2013