Perl で一致する正規表現に変数を含め、変数が文字列に含まれていないかどうかを確認したいと思います。
ここのリンクは、変数を含める方法を示していますが、変数が一致しないかどうかをテストするのが困難です。もちろん、次のように if 条件を否定することもできます。
if (!($string =~ m/$Myvar/)) {
# Do some code here
}
しかし、正規表現の一致内で行う方法があるに違いないと確信しています。何か案は?
よろしくお願いします。
結果を否定することの何が問題になっていますか?
「ネガティブマッチ」(ネガティブ先読みアサーションが必要)は、正規表現をはるかに複雑にします。
if ($string =~ m/^(?!.*$Myvar)/s) {
# Do some code here
}