while($Html =~ m{<a/b([^>]+)>(.*?)</a>}ig) { my $Guts = $1; my $Link = $2; if($Guts =~ m{ /b HREF # "href" 속성 /s* = /s* # "="의 앞 (?: # 값은 "([^"]*)" # 큰 따옴표로 감싼 문자열 | # 또는 '([^']*)' # 작은따옴표로 감싼 문자열 | # 또는 ([^'">/s]+) # "기타 문자" ) }xi) { my $Url = $+; print $Url with link text: $Link\n"; } }
^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5]\. ([01]?\d\d?[2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])$ # 유니코드 환경에서는 \d 가 ASCII 숫자가 아닌 문자에도 매치될 수 있다. # 이 경우 [0-9] 를 사용.
while($line =~ m{ (?:^|,) (?: " ((?:[^"]|"")*) " | ([^",]*)\ ) }gx) { if(defined $2) { $filed = $2; } else { $filed = $1; $filed =~ s/""/"/g; } print "[$filed]"; # 디버깅을 위해 필드를 출력한다. }
string email = "[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}";
앨범 2000 ---- $1; # '앨범' $2; # '2000'