我需要在文本文件中查找标识符:
但如果标识符是关键字,我不想要匹配。例如,如果我将“for”作为关键字,则如下所示:
for (i=0 ; i< max ; i++)
我应该得到:
Found: i
Found: i
Found: max
Found: i
我研究了前瞻断言,但我无法使其工作:
$IDENTIFIER="(?!(for|while|do))[a-zA-Z_]+[a-zA-Z0-9_]*"
while ($entireFile =~ /($IDENTIFIER)/g)
{
print "Found ($1)" . "\n";
}
我得到:
Found: or
Found: i
Found: i
Found: max
Found: i
这不是我想要的安静!我明白为什么我得到“或”,但我怎样才能让它更聪明并完全排除“为”呢?