두 개 이상의 연속 문자를 찾기위한 RegEx


98

문자열에 두 개 이상의 연속적인 알파 문자가 포함되어 있는지 확인해야합니다. 두 개 이상의 [a-zA-Z]나란히. 예:

"ab" -> valid
"a1" -> invalid
"a b" -> invalid
"a"-> invalid
"a ab" -> valid
"11" -> invalid

답변:



1

Personnaly (nooby) 나는 다음을 사용했습니다.

[0-9][0-9]+.

그러나 사이먼의 것이 훨씬 낫습니다! = D


0

[a-zA-Z] {2,}는 둘 이상의 동일한 연속 문자에 대해 작동하지 않습니다. 그렇게하려면 캐릭터를 캡처 한 다음 다음과 같이 캡처를 반복해야합니다.

(.)\1

괄호는. 이는 모든 문자를 나타내고 \ 1은 캡처의 결과입니다. 기본적으로 해당 문자의 연속적인 반복을 찾습니다. 연속적으로 동일한 문자를 찾으려는 특정 문자를 지정하려면 "모든 문자"를 문자 클래스로 바꾸십시오.

([a-zA-Z]) \ 1

연속적으로 반복되는 소문자 또는 대문자를 찾습니다. "abc1223"이 아닌 "abbc123"과 일치합니다. 그들 사이에 공백 (예 : ab)을 허용하려면 캡처 된 문자와 반복 사이의 정규식에 선택적 공백을 포함하십시오.

([az] AZ]) \ s? \ 1


나는 당신이 두 글자에 관한 질문이기 때문에 당신이 잘못 이해했다고 확신합니다. 귀하의 정규식은 다른 경우에 대한 것입니다 : 두 개의 유사한 문자!
csabinho

-4

[a-zA-Z] 대신 [Az]를 사용하여 작고 대문자의 알파 문자 http://www.w3schools.com/jsref/jsref_obj_regexp.asp 를 얻을 수 있다고 확신합니다 .


22
-1 : 이것은 참고 나 교육용으로 w3schools를 사용해서는 안되는 또 다른 멋진 예입니다. [A-z]문자보다 더 많이 일치합니다. 특히 대괄호, 백 슬래시, 캐럿, 밑줄 및 백틱도 일치합니다.
Tim Pietzcker 2012 년

실제로 @TimPietzcker가 말하는 것은 정확합니다. 문자는 그 사이에 올 언급 Za같은 패턴에 포함 된 (잘못) 그렇게 될 것이다. 두 번째 추천 : w3schools를 사용하지 마십시오! 이와 같이 미묘하게 나쁜 정보가 많이 있습니다.
Andrew Barber

5
스택에서 처음으로 쌩쌩 해 졌는데, 생각했던 것보다 더 쏘였습니다. 그래서 Az를 포함하면 [AZ는 내가 원하지 않는 것들과 az] 대문자와 비대 문자 사이의 모든 문자 코드와 일치합니까? danshort.com/ASCIImap
Kevin

그래서 [!-+]처럼 말할 수 있나요? 또한 [AZ]와 동일한 [65-90]과 같은 정규 표현식 내부의 문자 코드에 액세스하는 방법이 있습니까?
Kevin

@Kevin [65-90]5- 9(포함 6) 및 0!
csabinho
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.