Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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_String_Perl_Variables_Match - Fatal编程技术网

Regex 如何在Perl中的匹配正则表达式中包含变量,并检查该变量是否不在字符串中?

Regex 如何在Perl中的匹配正则表达式中包含变量,并检查该变量是否不在字符串中?,regex,string,perl,variables,match,Regex,String,Perl,Variables,Match,我想在Perl中的匹配正则表达式中包含一个变量,并检查该变量是否不在字符串中 该链接指示如何包含变量,但是如果变量不匹配,我就很难进行测试。当然,我可以这样否定一个if条件: if (!($string =~ m/$Myvar/)) { # Do some code here } 但是我确信在正则表达式匹配中一定有一种方法可以做到。 有什么想法吗 提前感谢您的帮助。请使用操作员 if ($string !~ m/$Myvar/) { # Do some code here } 或者使用并避免

我想在Perl中的匹配正则表达式中包含一个变量,并检查该变量是否不在字符串中

该链接指示如何包含变量,但是如果变量不匹配,我就很难进行测试。当然,我可以这样否定一个if条件:

if (!($string =~ m/$Myvar/)) {
# Do some code here
}
但是我确信在正则表达式匹配中一定有一种方法可以做到。 有什么想法吗

提前感谢您的帮助。

请使用操作员

if ($string !~ m/$Myvar/) {
# Do some code here
}
或者使用并避免使用正则表达式引擎。即使
$Myvar
具有正则表达式引擎专门处理的字符,这也会起作用

if ( index($string, $Myvar) < 0 ) {
# Do some code here
}
if(索引($string,$Myvar)<0){
#在这里做一些代码
}

否定结果有什么不对

“负数匹配”(需要负数)使正则表达式更加复杂:

if ($string =~ m/^(?!.*$Myvar)/s) {
    # Do some code here
}