【发布时间】:2013-11-26 23:05:07
【问题描述】:
如何否定这个正则表达式(不使用!~)?
my $Line='pqr_abc_def_ghi_xyz';
if ($Line=~/(?:abc|def|ghi)/)
{
printf("abc|def|ghi is not present\n");
}
else
{
printf("abc|def|ghi is present\n");
}
注意:abc、def 或 ghi 可以在字符串之前或之后
【问题讨论】:
-
我很好奇您不想使用
!~的原因。你能告诉我吗? -
因为我将正则表达式作为参数传递给子例程。
-
将标志传递给表示负数或正数的子将是一个更简单的解决方案。维护一个正则表达式/标志对列表。
标签: regex perl regex-negation