匹配正则表达式的三个连续副本的正则表达式
foo|bar
。您的模式应与foofoofoo
,foobarbar
,barbarbar
if($line!~m/((foo)+|(bar)+){0,3}/){print"No match\n";}
else
{ print "$`"; #print out first part of string
print "<$&>"; #highlight the matching part
print "$'"; #print out the rest
}
这是我的表达,它有效,但不知怎的,它只检查字符串的部分。
例如:
输入foo
:它会突出显示foo
输入foofdafdafbar
:它只会突出显示foo
,但不会突出显示bar
我需要检查foo
或bar
是否存在,但我还想确定它们何时存在,它们都会突出显示
答案 0 :(得分:3)
根据你所描述的内容,你的正则表达式没有任何意义。此外,您的第二个示例似乎与您在第一部分中所说的内容相矛盾。
也许您正在寻找的是什么?
if ($line =~ m/((?:foo|bar){3})/) {