2017-02-17 6 views
1

Я хотел бы спросить, можно ли получить регулярное выражение для последующего поиска последующих алфавитов или цифр в строке, например, «abcd» или «1234» 4 символа.regex для проверки последующих символов

Это для проверки пароля, чтобы проверить, если пользователь пытается ввести пароль, как «abcd1234»

Thank You

+0

@KernelPanic: Договорная –

ответ

1

На основании ответа Match increasing/decreasing sequences using regex, эта модель делает близко. При программировании вам все равно нужно получить первую группу захвата \1 и проверить, равен ли ее размер 4. Здесь вам нужно установить режим многострочной линии, чтобы разрешить $ соответствовать концу строки.

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

(?x) 
(
     (?:a(?=b|$))? 
     (?:b(?=c|$))? 
     (?:c(?=d|$))? 
     (?:d(?=e|$))? 
     (?:e(?=f|$))? 
     (?:f(?=g|$))? 
     (?:g(?=h|$))? 
     (?:h(?=i|$))? 
     (?:i(?=j|$))? 
     (?:j(?=k|$))? 
     (?:k(?=l|$))? 
     (?:l(?=m|$))? 
     (?:m(?=n|$))? 
     (?:n(?=o|$))? 
     (?:o(?=p|$))? 
     (?:p(?=q|$))? 
     (?:q(?=r|$))? 
     (?:r(?=s|$))? 
     (?:s(?=t|$))? 
     (?:t(?=u|$))? 
     (?:u(?=x|$))? 
     (?:x(?=z|$))? 
     [a-z]? 
    | 
     (?:0(?=1|$))? 
     (?:1(?=2|$))? 
     (?:2(?=3|$))? 
     (?:3(?=4|$))? 
     (?:4(?=5|$))? 
     (?:5(?=6|$))? 
     (?:6(?=7|$))? 
     (?:7(?=8|$))? 
     (?:8(?=9|$))? 
     \d? 
) 

На этой ссылке вы можете увидеть живое регулярное выражение: https://regex101.com/r/xxED4s/2

Смежные вопросы