저는 Regex에 대해 매우 새롭기 때문에 기본적으로 숫자와 문자를 사용할 수 있지만 연속 문자는 입력 할 수없는 규칙을 작성해야합니다.정규식 거부 연속 문자
예를 들어 ABCD -> 확인, abbcd -> 나쁜
내가 일을 그것의 대부분이하지만 난 파악하지 못할 부분은 내가 연속 된 문자를 금지 어떻게 정확하게? 지금까지
내 코드 :
/^[A-Za-z-0-9]{8,15}$/i
저는 Regex에 대해 매우 새롭기 때문에 기본적으로 숫자와 문자를 사용할 수 있지만 연속 문자는 입력 할 수없는 규칙을 작성해야합니다.정규식 거부 연속 문자
예를 들어 ABCD -> 확인, abbcd -> 나쁜
내가 일을 그것의 대부분이하지만 난 파악하지 못할 부분은 내가 연속 된 문자를 금지 어떻게 정확하게? 지금까지
내 코드 :
/^[A-Za-z-0-9]{8,15}$/i
>>> r = /^((\w)(?!\2))+$/i
>>> r.exec('abbcd')
null
>>> r.exec('abcd')
[ 'abcd',
'd',
'd',
index: 0,
input: 'abcd' ]
\2
부분은 그룹 (\w)
일치 역 참조와 마지막으로 중 문자 일치입니다. 그래서 부정적인 lookahead가 (?!\2)
은 "문자 자체가 따르지 않음"을 의미합니다. 여기에 사용 된 일부 용어가 익숙하지 않은 경우 MDN's Regular Expression Documentation에서 찾아야합니다. , 변경 영업 이익으로
+
{8,15}
에 : 나는 그렇게 인 경우 Z와 0 사이의 마이너스 기호 밑줄과 생각 처음에는
>>> r = /^((\w)(?!\2)){8,15}$/i
>>> r.exec('abcd')
null
>>> r.exec('abcdabcd')
[ 'abcdabcd',
'd',
'd',
index: 0,
input: 'abcdabcd' ]
'[A-Za-z_0-9]'대신'[\ w]'를 사용하십시오 – shift66