2014-03-04 106 views
0

有人能告訴我的正則表達式匹配下面輸入:正則表達式重複

Tom                              
Mary         
George 

我覺得正則表達式是.*\n.*\n.*\n,但沒有任何表示這種簡單的方式? 我試過[.\*\n]\*但它不起作用。

+0

你試圖匹配3個連續的非空行嗎? –

+0

也許是這樣的:^ [A-Za-z] + $ – duffymo

+0

通常Perl代碼的工作原理是一次讀取一行文件。您必須在一個字符串中包含全部三行才能與正則表達式匹配。你到底想做什麼?請澄清。 – AdrianHHH

回答

0

如何:

$str =~ /(?:.+\n){3}/; 
+0

最後一句話可能沒有換行符... – Pradeep

+0

對不起,您能否告訴我您的解決方案中「:」的含義。 – user3326148

+0

@ user3326148:'(?:...)'是一個非捕獲組。看看:http://www.regular-expressions.info/brackets.html如果你不需要捕獲,非捕獲組比捕獲組更有效... – Toto

0

爲您做以下的正則表達式的工作?它匹配除了換行符之後的所有內容,依此類推。最後一行是可選的,以說明最後一行。

[^\n]+[\n][^\n]+\n[^\n]+\n?