与えられた変数:
my $var1 = "fish";
my $var2 = "ocean";
私の入力文字列はfishin_oceanまたはfishout_oceanのいずれかです。
$var1
正規表現の一部がとにある入力文字列の両方に一致するように Perl 正規表現を作成するにはどうすればよい$var2
ですか? これ (文字列は にあります$var3
) は上記の文字列のいずれも返しません:
$var3 =~ /$var1.+?$var2/;
OPの回答から編集:
問題を引き起こしているのは、最後にある特別な四角いブラケットだと思います
my $a = "slash_wideiscan"; my $b = "_mnn3h_reg[0]";
my @array1 = qw (slash_wideiscanps_mnn3h_reg[0]
slash_wideiscanptlr_mnn3h_reg[0]
slash_wideiscanps_mnn0h_reg);
for my $element (@array1) {
if ($element =~ /($a.+?$b)/) {
print "YES : $element\n";
} else {
print "NO : $element\n";
}
}
返ってきた答えは
NO : slash_wideiscanps_mnn3h_reg[0]
NO : slash_wideiscanptlr_mnn3h_reg[0]
NO : slash_wideiscanps_mnn0h_reg
私は実際に欲しい
YES : slash_wideiscanps_mnn3h_reg[0]
YES : slash_wideiscanptlr_mnn3h_reg[0]
NO : slash_wideiscanps_mnn0h_reg