development

영문자와 만 일치하는 정규식

big-blog 2020. 6. 28. 17:38
반응형

영문자와 만 일치하는 정규식


알파 하프 문자 만있는 문자열과 일치하는 정규식을 얻을 수 있는지 궁금합니다.


다음 2 가지 변형 중 하나를 사용할 수 있습니다.

/^[A-Z]+$/i
/^[A-Za-z]+$/

ASCII 알파벳의 입력 문자열과 일치시킵니다.

  • [A-Za-z] 모든 알파벳과 일치합니다 (소문자와 대문자 모두).
  • ^그리고 $확실히 아무 것도하지 않습니다하지만이 알파벳이 일치됩니다.

암호:

preg_match('/^[A-Z]+$/i', "abcAbc^Xyz", $m);
var_dump($m);

산출:

array(0) {
}

테스트 사례입력에 하나 이상의 알파벳이있는 경우에만 일치시키려는 OP의 의견입니다 . 테스트 사례에서 볼 수 있듯이 ^입력 문자열 이있어 일치하지 못했습니다 abcAbc^Xyz.

참고 : 위의 답변 은 ASCII 알파벳만 일치 하며 유니 코드 문자와는 일치하지 않습니다. 유니 코드 문자를 일치 시키려면 다음을 사용하십시오.

/^\p{L}+$/u

ASCII가 아닌 알파벳 문자를 포함해야하고 정규 표현식이 유니 코드를 지원하는 경우

\A\pL+\z

올바른 정규식이 될 것입니다.

일부 정규식 엔진은이 유니 코드 구문을 지원하지 않지만 \w영숫자 속기는 ASCII가 아닌 문자와도 일치시킬 수 있습니다. 이 경우 다음과 \w같이 숫자와 밑줄을 빼서 모든 알파벳을 얻을 수 있습니다 .

\A[^\W\d_]+\z

\A문자열의 시작 부분, 문자열 \z의 끝 부분 ^$일치 합니다 ( 또한 Ruby와 같은 일부 언어의 줄 시작 / 끝 또는 특정 정규식 옵션이 설정된 경우).


하나 이상의 알파벳 문자와 일치합니다.

/^[a-z]+$/

다음을 사용하여 대소 문자를 구분하지 않을 수 있습니다.

/^[a-z]+$/i

또는:

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

대괄호 표현식에서 POSIX 문자 클래스를 지원하는 Ruby 및 기타 언어에서 간단하게 수행 할 수 있습니다.

/\A[[:alpha:]]+\z/i

모든 유니 코드 알파벳 언어의 알파 문자와 일치합니다. 쉬워요.

추가 정보 : http://en.wikipedia.org/wiki/Regular_expression#Character_classes http://ruby-doc.org/core-2.0/Regexp.html


[a-zA-Z] 그냥 잘해야합니다.

치트 시트를 참조 할 수 있습니다 .

참고 URL : https://stackoverflow.com/questions/6067592/regular-expression-to-match-only-alphabetic-characters

반응형