读书人

perl正则表达式中的非一般变量

发布时间: 2012-12-21 12:03:49 作者: rapoo

perl正则表达式中的特殊变量

在perl的正则表达式中有几个非常重要的变量值得注意

1、$_

如果不另外指定,则表示目标串

2、$` :

目标串中当前匹配串之前的字符串

3、$& :

目标串中当前的匹配串

4、$'?? :

目标串中当前匹配串之后的字符串

5、$1($2,$3,...$n)

正则分组字符串,以1开始

6. $-[n],$+[n]

组匹配的开始与结束位置,n表示第几组,从0开始。0表示整个匹配

7.?$+

与搜索模式相匹配的最后一个模式

?

以下为例子

?

$_ = 'ABcde123D';if (/([a-z]+)(\d+)/) {print "\$1:$1,\$2:$2,\$`:$`,\$&:$&,\$':$'\n";print "entie match $&:start position,$-[0]; end position,$+[0]\n";print "first group $1:start position,$-[1]; end position,$+[1]\n";print "second group $2:start position,$-[2]; end position,$+[2]\n";}else{print 'not find';}

?输出:

?

$1:cde,$2:123,$`:AB,$&:cde123,$':Dfirst group cde123:start position,2; end position,8first group cde:start position,2; end position,5second group 123:start position,5; end position,8

读书人网 >perl python

热点推荐