Thursday, December 27, 2012

Perl Regular Expression 코딩예

처음부터 복잡한 regular expression 을 만들려 하지 말고, 단순한 것부터 시작해서 테스트하면서 진화시켜 나간다.
1. 일단 간단히 "my " 라는 단어만 매칭해봄
 $s = "This is my pen. And this is my book. My house is great.";  
 findMine1($s);  
   
 sub findMine1  
 {  
      ($_) = @_;  
      while(/(my )/g){  
           print "[$1]\n";  
      }  
 }  
2. my 뒤에 붙는 alphabet 단어를 매칭해봄
 sub findMine2  
 {  
      ($_) = @_;  
      while(/(my )([a-zA-Z]+)/g){  
           print "[$2]\n";  
      }  
 }  
3. 알파벳 단어 대신 마침표 제외한 모든 문자로 된 단어로 해봄
 sub findMine3  
 {  
      ($_) = @_;  
      while(/(my )([^.]+)/g){  
           print "[$2]\n";  
      }  
 }  
4. 최종형. 공백문자와 마침표를 제외한 모든 단어로 고쳐본 것. my 는 대소문자 안가리게 만듬.
 sub findMine4  
 {  
      ($_) = @_;  
      while(/my\s([^.\s]+)/ig){  
           print "[$1]\n";  
      }  
 }  

No comments:

Post a Comment