sno*_*kin 13 regex syntax perl
到目前为止,如果我想将几个正则表达式和if语句组合在一起,我就是这样做的:
my $data =...
if ( $data =~ m/regex/ && $data =~ m/secondregex/ ) {...}
Run Code Online (Sandbox Code Playgroud)
是否有快捷方式(我确信有,它的Perl!)以避免重复$ data,例如:
if ( $data =~ m/regex/ && m/secondregex/ ) {..}
Run Code Online (Sandbox Code Playgroud)
??
谢谢,
Unc*_*eiv 20
使用默认变量,$_如下所示:
$_ = $data;
if ( m/regex/ && m/secondregex/ ) {..}
Run Code Online (Sandbox Code Playgroud)
正则表达式$_默认处理(与Perl中的许多其他内容一样).
只需确定您不在自动填充$ _的块中,您将需要在此块中稍后使用它.一旦它被覆盖它就消失了.
Eug*_*ash 14
for ($data) {
if (/regex/ && /secondregex/) {...}
}
Run Code Online (Sandbox Code Playgroud)
只有一行使用智能匹配:
use 5.010;
if ($data ~~ [qr/regex1/,qr/regex2/]) { ... }
Run Code Online (Sandbox Code Playgroud)