2009-02-04 38 views
1

我正在嘗試在HTML文檔中查找數據。我不需要一個完整的解析器,因爲它只是一個標籤之間的數據。Java中的正則表達式,查找開始和結束標記

但是,我想檢測'選擇'標籤和中間的數據。

return Pattern.compile(pattern, 
         Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | 
         Pattern.DOTALL); 

/// End right angle bracket left off intentionally: 
track_pattern_buf.append("<select"); 
track_pattern_buf.append("(.*?)"); 
track_pattern_buf.append("</select"); 

這是您使用的'正則表達式'嗎?

回答

5

如果你真的想用正則表達式(這是不是最好的選擇),以施蒂希我會使用:

"<select[^>]*>(.+?)</select\s*>" 
1

我會用的東西,看起來像:

"<select>([^<>]+)</select>" 

我不知道爲什麼你離開了'>的,我不會想匹配其他標籤(這裏我假設我們正在尋找文本數據而不是文檔片段)。

話雖如此,我真的會考慮獲取一個DOM並使用XPath(或類似的)來做你的查詢,因爲正則表達式不是well known for their ability to deal with trees

+0

離開關閉「>」從開始標記情況下有屬性。我認爲沒有理由將它從結束標籤上移開。 – 2009-02-04 17:30:06

+0

這將無法匹配