我想在 Perl 中的匹配正则表达式中包含一个变量,并检查该变量是否不在字符串中。
链接here指示如何包含变量,但我很难测试变量是否不匹配。当然,我可以像这样否定 if 条件:
if (!($string =~ m/$Myvar/)) {
# Do some code here
}
但我确信必须有一种方法可以在正则表达式匹配中进行。 有什么想法吗?
提前感谢您的帮助。
最佳答案
使用 !~
运营商。
if ($string !~ m/$Myvar/) {
# Do some code here
}
或者使用index
并完全避免使用正则表达式引擎。即使 $Myvar
具有正则表达式引擎特殊对待的字符,这也能正常工作。
if ( index($string, $Myvar) < 0 ) {
# Do some code here
}
关于regex - 如何在 Perl 的匹配正则表达式中包含一个变量,并检查该变量是否不在字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11022379/