捕获变量: $1,$2,$3

在使用正则表达式解析并捕获文本时,经常用到捕获变量$1,$2,$3等,依次类推。

捕获变量与正则表达式中的圆括号相对应。

正则表达式内的没对圆括号都会捕获括号内匹配的文本,并将其存储到捕获的变量中。

[oracle@june2 perl]$ cat a5.pl
my $a = 'http://www.perl.org/index.html';
if ($a =~ m#^http://([^/]+)(.*)#){
print "$1\n"; #www.perl.org
print "$2\n"; #/index.html
}
[oracle@june2 perl]$ perl a5.pl
www.perl.org
/index.html

即使圆括号内的表达式能在字符串内匹配多次,它也只会捕获最后一次匹配的内容。