我正在尋找一個正則表達式,它必須在不同類型的HTML標記之間提取文本。正則表達式提取HTML標記之間的文本
對於離:
<span>Span 1</span>
- O/P:跨度1
<div onclick="callMe()">Span 2</div>
- O/P:跨度2
<a href="#">HyperText</a>
- O/P:超文本
我發現這件特別的作品<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)</\1>
m here但這一個不起作用。
我正在尋找一個正則表達式,它必須在不同類型的HTML標記之間提取文本。正則表達式提取HTML標記之間的文本
對於離:
<span>Span 1</span>
- O/P:跨度1
<div onclick="callMe()">Span 2</div>
- O/P:跨度2
<a href="#">HyperText</a>
- O/P:超文本
我發現這件特別的作品<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)</\1>
m here但這一個不起作用。
您的評論顯示您忽略了您的正則表達式字符串中的反斜槓。
如果你想匹配小寫字母添加a-z
到字符類或使用Pattern.CASE_INSENSITIVE
(或添加(?i)
到正則表達式的開頭)
"<([A-Za-z][A-Za-z0-9]*)\\b[^>]*>(.*?)</\\1>"
如果標籤內容可能包含換行符,然後使用Pattern.DOTALL
或將(?s)
添加到正則表達式的開頭以打開dotall/singleline模式。
一個非常特殊的方式:
(<span>|<a href="#">|<div onclick="callMe\(\)">)(.*)(</span>|</a>|</div>)
,但是,是的,這隻會爲那些3個實例工作。您需要使用HTML解析器。
的情況下可以與任何的HTML標籤之間的內容。不能說。 – Sriram
請詳細說明它是如何工作的。 – MikeM
我想引用你到這個問題的傳說中最佳答案:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – Philipp
@MikeM它是不工作我的意思是,它沒有給出預期的結果。它沒有提取內容,而是顯示整個HTML標籤 – Sriram