下面是一个代码示例:
my $testVar = "^.+|gg$";
那行导致了一个错误。它说美元符号应该转义,但我希望整行都匹配,所以我需要^
和$
字符。
Perl有点新,我更愿意将regex语句分配给变量,以便于使用,但不确定如何使用。
如果要生成字符串
^.+|gg$
则必须使用以下文字之一
my $pat = '^.+|gg$';
my $pat = "^.+|gg$";
请注意,$
必须在双引号字符串文字中转义,因为$
标记了要在双引号的字符串文字中插值的变量的开始。
但是qr
更简单,它为您编译了模式。
my $re = qr/^.+|gg$/;
这里有一个应该如何做的例子:
$variable =~ /(find something)/;
如果你想给一个变量分配一个模式,下面是你可以做的:
my $pattern = qr"patern";
my $content = "content";
my @results = $content =~ m/($pattern)/;
事实上,你需要逃离每一个特殊的角色。