패턴 매칭

perl 2007. 9. 23. 05:14

 #!/usr/bin/perl

 

$r = "I love cat and dog." =~ /love (.+) and (.+)./;

print $1."\n";           # cat
print $2."\n";           # dog
print $&."\n";           # love cat and dog
print $+."\n";           # dog
print "------------------------\n";

 

"hot cross buns" =~ /cross/;
print "Matched: <$`> $& <$'>\n";    # Matched: <hot > cross < buns>
print "Left:    <$`>\n";            # Left:    <hot >
print "Match:   <$&>\n";            # Match:   <cross>
print "Right:   <$'>\n";            # Right:   < buns>

 

재미있는 소스다.

 

$1, $2,  첫번째 두번째 그룹... 이렇게 그룹에 매치되는 문자열을 의미한다.

$& 는 전체 매치된 문자열이다.

$+ 는 마지막 그룹에 매치되는 문자열이다.

$`(grave accent) 는 매치되는 문자열의 왼쪽 단어이고,

$' (single quotation)는 매치되는 문자열의 오른쪽 단어이다.

'perl' 카테고리의 다른 글

bash는 float 변수 연산이 안된다.  (0) 2007.10.21
펄 해쉬 이야기 #2  (0) 2007.10.19
펄 Hash 관련 정보 #1  (0) 2007.10.19
패턴 매칭  (0) 2007.09.23
패턴 매칭  (0) 2007.09.23
Expect (shell)문제 및 해결  (0) 2007.08.24
Posted by 김용환 '김용환'

댓글을 달아 주세요