2012-05-10 2 views
1

1) 정규 표현식에서 : 글자가 전혀없는 경우에만 일치하는 카운터를 올리십시오.정규식 : 라틴 문자를 제외한 모든 문자

나는이 함께했다 :

"/^[^a-zA-Z]+$/"

작동하는 것 같다,하지만 "/^[^a-zA-Z]+/""/[^a-zA-Z]+$/" 일 동안 작동하지 않는 이유는하지 않는다?

2) 의미 : "/[a-zA-Z]+/" 모든 요소가 a-z 또는 A-Z 범위에있을 경우에만 일치 카운터가 증가한다는 의미라고 생각했습니다. 그러나 시험은 내가 틀렸다는 것을 보여줍니다. 또한 "/^[a-zA-Z][a-zA-Z]+/" 시도했지만이 또한 "aa11"1 제공합니다. 사전

답변

5

당신이 게시 한 유일한 올바른 정규 표현식에서

덕분에 /^[^a-zA-Z]+$/입니다. 나머지는 모두 잘못되었습니다.

^$ ~ anchor 문자열의 시작과 끝이 각각 일치해야합니다.

  • /^[^a-zA-Z]+/은 끝 문자열 앵커가 없기 때문에 aaa111과 일치합니다.
  • /[^a-zA-Z]+$/은 문자열 시작 앵커가 없기 때문에 111aaa과 일치합니다.
  • /[a-zA-Z]+/111aaa111과 일치합니다. 시작 또는 끝 문자열 앵커가 없기 때문입니다. 문자열에 임의의 문자가 있으면 일치합니다.
1

나는 개인적으로 당신이 그렇게 #^[:alpha:]+$#도 작동 무엇이든 될 수있는 dilimeter로 정규식을 시작 단지 /^[:alpha:]+$/ 를 사용하려면. ^이 입력의 시작이고 $이 끝입니다. +은 1 또는 그 이상의 숫자와 일치합니다. tutorial/info

관련 문제