正则表达式Perl

时间:2014-04-10 22:24:36

标签: regex perl

匹配正则表达式的三个连续副本的正则表达式 foo|bar。您的模式应与foofoofoofoobarbarbarbarbar

匹配
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

我需要检查foobar是否存在,但我还想确定它们何时存在,它们都会突出显示

1 个答案:

答案 0 :(得分:3)

根据你所描述的内容,你的正则表达式没有任何意义。此外,您的第二个示例似乎与您在第一部分中所说的内容相矛盾。

也许您正在寻找的是什么?

if ($line =~ m/((?:foo|bar){3})/) {