2011-11-18 3 views
1

어떻게 다음 조건과 일치하는 펄 정규식을 만드십니까?단어를 제한하는 펄 정규식

  1. 단어 길이는 4 자 이상이어야합니다.
  2. 가 아닌 알파벳 문자 (즉 . - " ,)

그래서 같은 단어 "barbar가 ..", "바.", "바 ..."일치에 거부해야 포함되지 않아야합니다.

+0

두 번째 부분이 의미하는 바를 분명히 말하면 어색하게 말합니다. –

+0

@Sean : updated. – neversaint

답변

5

단어가 4자를 초과하며 알파 문자 만 포함한다는 것을 의미합니까?

이 AZ, 비 대소 문자를 구분에서 5 개 이상의 문자와 일치합니다 대신 알파벳의

/^[a-zA-Z]{5,}$/ 
0

, 당신은 문자 및 숫자 사용할 수 있도록하려면이 /^\w{5,}$/ (또한 일치 '_')

\ w는 일반적으로 ASCII로 영숫자와 일치합니다. 예외 중 일부는이 게시물의 Sinan의 답변을 참조하십시오. How can I validate input to my Perl CGI script so I can safely pass it to the shell?

+0

이것은 (당신이 말한 것처럼) 숫자를 허용 할 것이지만 밑줄 (_)도 밑줄을 긋습니다. – Nightfirecat

+0

죄송합니다. 나는 그것을 놓쳤습니다. 확인해 주셔서 감사합니다. – SAN

1

나는 Nightfirecat의 답변을 받아 단어를 잡기 위해 단어 경계를 추가합니다. 그의 단어는 전체 문자열에 대한 것입니다.

/\b[a-zA-Z]{5,}\b/ 
+0

일치하는 문자열이 문자열의 일부로 포함되어 있어야하고 (전체 문자열 일 수 있음), 내 문자열이 전체 문자열 인 것으로 가정되는 경우에만 사용할 수 있습니다. – Nightfirecat

+0

그래, 질문에서 분명하지 않다. –