Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Perl—是否可以在变量中存储和执行正则表达式?_Regex_Perl - Fatal编程技术网

Regex Perl—是否可以在变量中存储和执行正则表达式?

Regex Perl—是否可以在变量中存储和执行正则表达式?,regex,perl,Regex,Perl,我有一个简短的问题: 是否可以将正则表达式作为字符串存储在变量中(好的,我知道这是可能的),然后执行它 还是在变量中存储和使用匹配和替换模式的唯一可能性 提前感谢您的帮助 您可以使用qr/引号将预编译的正则表达式对象保留在标量变量中: my $re = qr/foo/; "foobar" =~ $re; # works "foobar" =~ /$re/; # the same thing "foobar" =~ /${re}bar/; # compose your r

我有一个简短的问题: 是否可以将正则表达式作为字符串存储在变量中(好的,我知道这是可能的),然后执行它

还是在变量中存储和使用匹配和替换模式的唯一可能性


提前感谢您的帮助

您可以使用
qr/
引号将预编译的正则表达式对象保留在标量变量中:

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.

谢谢你,伙计,我在perldoc里读过qr函数了!这正是我想要的。