2011-03-07 60 views
1

嗨 我有一些文件看起来像这样:Perl的 - 正则表达式 - 比赛情况

some row 
/folder1/folder2/folder3/folder4/folder5 *.kuku.* noku 
/folder1/folder2/folder3/folder4/folder5 *.kuku noku 
another row 
another row 

如果第一行是不存在的,我需要添加它,如果第二行不存在我只需添加第二线

我写的正则表达式,但他们不是真正的作品:

if ($line =~ /(\*\.kuku\.\*\b)/) {do something} 

if ($line =~ /(\*\.kuku\b)/) {do something else} 

任何想法? 谢谢

回答

1

\b只匹配字边界。 \*\.kuku\.\*\b永远不会匹配,因为*不是一个单词字符。

您可以将其更改为\s,以便匹配空格。 \*\.kuku\.\*\s