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

标签 regex string perl variables match

我想在 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/

相关文章:

javascript - 从来自服务器的字符串中删除 HTML 标签和实体

c++ - char 赋值中的不兼容类型?

bash - 如何为以 string1 开头但不以 string2 结尾的行着色

perl - 在 Ubuntu 14.04 中安装 Tkx perl 模块时遇到问题

正则表达式匹配(如果存在)

javascript - 为什么非贪婪角色不行动 'non-greedy' ?

Java正则表达式性能

ruby-on-rails - 字符串 gsub 正则表达式中的引用匹配

perl - 如何用特定列中的字母替换和替换数字

c# - 查找字符串中最长的数字序列