2011-06-03 64 views
0

我正在處理的項目就像這樣.. 我有一個字符串變量,它存儲類似於段落的內容。從這個我需要找到子### _ ###的所有occurances並提取###之間可以是任何東西了「###」的值之間的值..如何在段落中找到模式### _____ ###

我正在考慮使用split()函數並比較每個存儲的字符串是否有2個###模式。但這似乎是一種非常低效的編碼方式,尤其是因爲單詞的數量可能很大。

可以ü請提出任何方法或功能,我可以用它來找到### _ ###或直接由###所包圍的價值..我不知道多少生根粉正則表達式,我已經試圖尋找,但還沒有真正找到什麼有用的東西還沒有..提前

感謝..

+1

請更新標籤和問題以反映您正在使用的語言和/或庫。 – mdm 2011-06-03 12:05:17

回答

0

您所需要的正則表達式是:

(?<=\###).*(?=\###) 

的PHP看起來像(假設你在PHP代碼之後):

$subject = $yourstring; 
$pattern = '/(?<=\###).*(?=\###)/'; 
preg_match($pattern, $subject, $matches); 

print_r($matches); 

$ matches將包含數組中的所有結果。

0

對於大多數語言這些天,你可以找到一些正則表達式來做到這一點。

/###(.*)###/ 

但@MDM是正確的 - 你需要在這裏加入更多內容。