2014-09-04 60 views
0

我正在使用正則表達式搜索HTML中的兩條評論以及它們之間的多行代碼。我「米使用此代碼,但沒有得到任何結果我需要幫助搜索並替換2條評論之間的代碼

(<!--RIGHT WIDE SALES MOBILE HERE-->)(^.*)\m(<!--END RIGHT WIDE SALES MOBILE-->) 

什麼我在尋找這樣看起來簡單的例子:

<!--RIGHT WIDE SALES MOBILE HERE--> 
<table> 
<tr> 
    <td> 

    HELLO 

    </td> 
</tr> 
</table> 
<!--END RIGHT WIDE SALES MOBILE--> 

**編輯:不知道,如果它的事項或不,但我也用崇高的文本進行搜索。

+0

你運行哪種語言? – 2014-09-04 17:24:42

+0

@AvinashRaj我沒有使用任何特定語言的正則表達式,但我試圖使用Sublime Text來搜索和編輯我的代碼。 – veryrarecandy 2014-09-04 17:32:06

+0

您的預期產量是多少? – 2014-09-04 17:35:22

回答

1

使用下面的正則表達式和替換字符串匹配的字符你想,

(?<=<!--RIGHT WIDE SALES MOBILE HERE-->\n)[\S\s]+?(?=<!--END RIGHT WIDE SALES MOBILE-->) 

DEMO

+0

'(<! - - 正確的銷售移動這裏 - > \ n)[\ S \ s] +?(<! - -END RIGHT WIDE SALES MOBILE - >)' - 修改你的正則表達式,並使其正常工作! – veryrarecandy 2014-09-04 17:42:30

+0

不客氣。 – 2014-09-04 17:46:45

0
(<!--RIGHT WIDE SALES MOBILE HERE-->)(.*?)(<!--END RIGHT WIDE SALES MOBILE-->) 

嘗試this.See演示。

http://regex101.com/r/lB2sH2/2

+0

Hrm ...我可以看到,在您提供的Demo頁面上它可以正常工作,但它不適合我。 – veryrarecandy 2014-09-04 17:26:57

0

這個答案很像vks的答案,但它只返回你正在尋找的內容,而不是匹配外部字段。我還包括定界符和代表忽略所有返回字符,並假設字符串選項(S)是全部在一行:

/(?:<!--RIGHT WIDE SALES MOBILE HERE-->)(.*?)(?:<!--END RIGHT WIDE SALES MOBILE-->)/s 

Demo

+0

我嘗試將我的代碼粘貼到Demo編輯器中並應用此Regex。但它只適用於一場比賽。我需要它爲這些評論的每一個實例工作。 – veryrarecandy 2014-09-04 17:34:00

+0

這似乎適用於多個匹配。看到這個問題的這個版本:http://regex101.com/r/yE2cQ3/2 – alairock 2014-09-04 17:35:27