2015-05-09 34 views
1

我有一個頁面,我需要將其上的單詞拆分爲一個數組。如何將這些行與正則表達式分開

我的文件是這樣的

dssds 
* Eski çağlarsda bazıhastaslıklara isyi geldisğine insan büyüslü söz 
dsds 
* Abramsak işi, idare. 
dsdsds 
* Abramsak işi, idare. 
dsdsds 
* Abramdak işi, idare. 

我需要把所有沒有在他們的行A *和其在陣列中的同一個單詞一行字。如果那可以是 我怎麼能用正則表達式來做到這一點?

我的輸出數組必須像

[abrakadabra, abrsamaas ,abradsma ,aswabrama ] 

回答

3

您可以簡單地使用

^[^*]\S* 

這和做的,而不是matchsplit。看到演示。

https://regex101.com/r/iV6mP5/2

$re = "/^[^*]\\S*/m"; 
$str = "abrakadabra\n* Eski çağlarda bazıhastalıklara iyi geldiğine inanılan büyülü söz\nabramaas\n* Abramak işi, idare.\nabradsma\n* Abramak işi, idare.\naswabrama\n* Abramak işi, idare."; 

preg_match_all($re, $str, $matches); 
+0

非常感謝你是它的工作,但現在有問題 我的文件有176000行(8 MIGA)和preg_match_all它不是與這個大文件的工作。 你的代碼正在與我上面寫的東西一起工作,但當我用它與這個大文件 – badr

+0

@ user44444時,你可以分割文件或讀取'1000'行或類似的東西。 – vks

+1

謝謝你喲,我做到了:) – badr