簡體   English   中英

Java Regex從HTML錨點(<a> ... </a>)標記中獲取文本

[英]Java Regex to get the text from HTML anchor (<a>…</a>) tags

我正在嘗試在某個標簽內獲取文本。 所以,如果我有:

<a href="http://something.com">Found<a/>

我希望能夠檢索Found文本。

我正在嘗試使用正則表達式。 如果<a href="http://something.com>保持不變,但事實並非如此,我能夠做到這一點。

到目前為止我有這個:

Pattern titleFinder = Pattern.compile( ".*[a-zA-Z0-9 ]* ([a-zA-Z0-9 ]*)</a>.*" );

我認為最后兩部分 - ([a-zA-Z0-9 ]*)</a>.* - 還可以,但我不知道該如何處理第一部分。

正如他們所說,不要使用正則表達式來解析HTML。 如果你意識到這些缺點,你可能會僥幸逃脫。 嘗試

Pattern titleFinder = Pattern.compile("<a[^>]*>(.*?)</a>", Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
Matcher regexMatcher = titleFinder.matcher(subjectString);
while (regexMatcher.find()) {
    // matched text: regexMatcher.group(1)
} 

將迭代字符串中的所有匹配項。

它不會處理嵌套的<a>標記並忽略標記內的所有屬性。

str.replaceAll("</?a>", "");

這是在線ideone演示

以下是類似主題: 如何僅從文本中刪除標記?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM