1: $_ = "ABC12DE3F4";
2: regexTest();
3: sub regexTest{
4: while (/(\d)/g){
5: print("$1 ");
6: }
7: print("\n");
8: }
결과값은 1 2 3 4 와 같이 나온다.$1, $2.. 는 최근에 행한 regular expression 에서 매칭된 값들이다.
매칭된 값이란 () 안에 있는 내용으로 위 코드에서는 (\d) 즉 매칭된 숫자열을 말한다.
4행에서 /(\d)/g 로 안쓰고 /\d/g 와 같이 쓰면 매칭은 되지만 $1 값이 세팅이 안되므로 에러가 난다.
my $s = "98 ba 12 ka";
if($s =~ /([a-z]+)(\s+(\d+)\s+)/){
print "[$1]\n";
print "[$2]\n";
print "[$3]\n";
}
결과값은 다음과 같이 나온다.[ba]
[ 12 ]
[12]
즉 순서는 왼쪽에서 오른쪽 / 바깥쪽에서 안쪽이다.
참조 링크 : Perl Regular Expression 코딩예
키워드 : numbers, string, $number variables
No comments:
Post a Comment