我正在嘗試編寫一個正則表達式來識別單行文本,並將下劃線(_)識別爲行連續字符。例如,「foo_ \ nbar」應該被視爲單行,因爲「foo」以下劃線結尾。我想:這是否違反了「最左邊最長」的原則?
$txt = "foo_\nbar";
print "$&\n" if $txt =~ /.*(_\n.*)*/;
然而,這僅打印:
foo_
這似乎違背了Perl的正則表達式的 「最左邊最長」 的規則!
有趣的是,如果我刪除了正則表達式的最後一個星號(*),即:
$txt = "foo_\nbar";
print "$&\n" if $txt =~ /.*(_\n.*)/;
它確實打印:
foo_
bar
但我需要的明星認識到「0或更多「延續!
我在做什麼錯?
這是什麼,你試圖用這個正則表達式來實現呢?你想用它做什麼? – Zaid 2010-06-27 14:14:02
「認出單行文字,用下劃線(_)識別爲行續字符」 – JoelFan 2010-06-27 14:15:39