與Perl和正則表達式有另一個問題,對不起,因爲作爲一個壞蛋perl noobie ;-)perl匹配正則表達式每行/ g不工作?
我得到的變量$輸出通過反引號的整個programm輸出。
我正則表達式匹配始終只是在輸出中,但不是每一次亮相第一齣現..
從Java輸出爲/ G沒有工作,要麼..
$output = `$calling 2>>bla.txt`;
if ($output =~ m/SegmentMean .+ Likelihood: ([-+]?\d+\.?\d+)/g) {
print "$1\n";
}
輸出:
SegmentMean 0可能性:-7.138117738068088 SegmentMean 1似然:-11.508156736772925 SegmentMean 2似然:-10.424706822552386 SegmentMean 3可能性:-9.56 0308776447586 SegmentMean 4可能性:-9.26826400149502 SegmentMean 5可能性:-9.524685714290996 SegmentMean 6可能性:-8.360030637461975 SegmentMean 7可能性:-8.163275211919945 SegmentMean 8可能性:-7.917569593466525 SegmentMean 9似然:-9.043243571260344
最多SegmentMean 20 ..
我希望它好,我編輯您的文章。我根本不知道Perl,所以我刪除了我的答案,並在你的帖子中使用了正則表達式。 +1 :) – 2012-01-06 17:23:36
之前看到您的帖子提姆,是的,它幫助了我!可以很容易,如果你得到正確的點; = – Stefan 2012-01-06 17:27:09
你應該使用while()(m //在標量上下文中)而不是for()(m // g在列表上下文中)。 – tadmc 2012-01-06 18:00:41