2011-04-18 3 views
2

다음 문장을 단순화하고 싶습니다.Perl 정규 표현식 단순화

if($_=~/^([0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F])/) 

[0-9a-fA-F]를 n 번 반복하지 않고도 위 문장을 쓸 수있는 다른 방법이 있습니까?

답변

5

정확히

if($_=~/^([0-9a-fA-F]{5})/) 
0

또는

if(/^([0-9a-fA-F]{5})/) 
10

사용할 수 Quantifiers

{N} 매치를 시도 n 번

if (/^([0-9a-fA-F]{5})/) 

마찬가지로, 당신은 POSIX 문자 클래스

xdigit 모든 16 진수 ("[0-9A-FA-F를]")를 사용할 수 있습니다. [: xdigit :] '개 코드의 의도를 명확히 전달'용

if (/^([[:xdigit:]]{5})/) 
+3

+1 . – Sean