Найти персонажа в группе и повторить совпадения

пыт работы с регулярными выражениями ограничен, и я читал различные учебные пособия и посты по отрицанию и негативным прогнозам и т. Д., Но, похоже, ничто не вполне соответствует моей ситуации.

Я пытаюсь создать атрибут вASP.NET MVC3 для сложности пароля. Часть проверки включает в себя минимальное количество повторяющихся символов. Для текущего проекта ограничение составляет 3, но я хочу обобщить его.

Первоначально я использовал@"(.)\1{3,}" проверить на 4 или более повторяющихся символов, а затем отрицание этого результата. Я не могу сделать это сейчас, потому что мне нужно создатьModelClientValidationRegexRule объект, который будет работать только с положительными результатами. Таким образом, отрицание должно быть сделано внутри самого регулярного выражения. Каждый способ, которым я пытался использовать отрицательный взгляд, терпит неудачу, например,@".*(?!(.)\1{3,})".

Есть идеи?

Ответы на вопрос(1)

за персонажем может следовать не более 3 одинаковых. Тогда должно последовать что-то еще. Наконец, вся строка должна состоять из таких последовательностей. Во вкусе perl:

^((.)\2{0,3}(?!\2))*$
 jmcilhinney21 янв. 2011 г., 07:32
Спасибо, абесто. Это не совсем работает, но, кажется, очень близко. Я не понимаю это с самого начала (ОЧЕНЬ неопытно с регулярным выражением), но я посмотрю поближе, получу понимание и изменю по мере необходимости. В настоящее время это не подходит для 5 или более символов, когда должно быть 4. Я счастлив работать над этим сам, чтобы заставить его работать, хотя.
 abesto21 янв. 2011 г., 08:15
Это интересно, кажется, работает здесь для простых случаев. Пожалуйста, пишите, когда вы выяснили, что не так, мне интересно :) В любом случае, я рад помочь.

Ваш ответ на вопрос