2013-10-01 70 views
0

我有條件,我必須選擇任何不是span標記的一部分。正則表達式不運算

輸入 -

​​

正則表達式,其選擇<span>標籤和它的內容 -

(<span[^>]+class\s*=\s*("|')ptc-highlightedSearchResult\2[^>]*>)[^<]*(</span>) 

我能夠選擇什麼進來跨度及其內容而不是其他。任何幫助不操作將不勝感激。

+0

爲什麼不使用已經處理XML或HTML的庫?正則表達式不適合這樣的標記,正如你可以在整個SO中找到的那樣。 – BLaZuRE

+0

@BLaZuRE - 我無法使用它們,我對編輯有一些限制,只能用正則表達式來完成。請傳達你的建議。 – Devendra

+0

我假設http://docs.oracle.com/javase/1.4.2/docs/api/javax/xml/parsers/package-summary.html不會幫助您?試試這更多的不是運算符:http://stackoverflow.com/questions/7317043/regex-not-operator – BLaZuRE

回答

0

您可以使用此:

((?:(?![^<>]*(?:>))[^<](?![^<>]*</))+) 

regex101 demo

它將匹配沒有內部或開始和結束標記之間的任何文本。演示中存在正則表達式的細分。

+0

太好了。非常感謝你! :) – Devendra