2015-09-24 29 views
-4

我的目標是提取所有匹配2個標籤的文本。如何使用正則表達式提取2個標籤之間的所有內容?

例如:

some texts 
_start_ hello 
world 
_stop_ 
some text 
_start_ hello 
world2 
_stop_ 
some texts 

我試着用:

_start_(.*)_stop_ 

這當然是壞的。

下面是摘錄: https://regex101.com/r/rT8vF1/1

至於結果,我希望像

res[0] = "hello 
world"; 
    res[1] = "hello 
world2"; 
+0

是的,它是HTML解析。只是*說*它不是這樣做的。 (或者,如果你想分解什麼「解析」的意思,然後在這裏使用正則表達式*是出於完全相同的原因*使用正則表達式解析HTML是錯誤的。) –

+0

剛刪除所有HTML – yarek

+0

太棒了!現在,當您嘗試將它們應用到真實世界的HTML時,答案中的代碼會中斷:-) –

回答

4

正則表達式是好的,到目前爲止,但你必須使它非貪婪加入了?

_start_(.*?)_stop_ 

然後它只會匹配到下一次發生_stop_。您必須用s修飾符替代m修飾符,以使.也匹配換行符。

+0

這是不正確的。誰在讚揚它? '.'匹配任何字符,但換行符。 –

+0

然後說明原因。 – syck

+0

不起作用:https://regex101.com/r/rT8vF1/1 – yarek

相關問題