我有一个简短的问题: 是否可以将Regex作为字符串存储在变量中(好吧,我知道这是可能的)然后执行它?
或者是唯一可能在变量中存储和使用匹配和替换模式吗?
提前感谢您的帮助!
答案 0 :(得分:9)
您可以使用qr//
引号将预编译的regex对象保存在标量变量中:
my $re = qr/foo/;
"foobar" =~ $re; # works
"foobar" =~ /$re/; # the same thing
"foobar" =~ /${re}bar/; # compose your regexes
"foobar" =~ s/$re/baz/; # use in substitutions
"$re"; # a version-dependent stringification of the regex
# that is equivalent to your pattern.