簡體   English   中英

正則表達式模式與HTML標簽匹配

[英]Regex Pattern matching with HTML tag's

這只適用於我正在搞亂的小型Android程序,所以我只需要匹配一個或兩個標簽

我有一個HTML標簽,我可以在該標簽內找到什么是“FC-Cologne”我使用此代碼來獲取它

Pattern pattern = Pattern.compile("report\\">(.*?)</a>",Pattern.MULTILINE);

這是我可以開始工作的HTML標簽

<a href =“/ match-menu / 3405570 / first-team / fc-cologne = report”>科隆足球俱樂部</ a>

但我不能得到這個標簽,我不知道是因為“反對”一詞之后的空格或/和HTML標簽內的引​​號,因為它們不在第一個標簽中

這是我無法開展的工作

<td class =“bold opposition”>“Olympiacos”</ td>

這是我正在嘗試的代碼

Pattern pattern = Pattern.compile("opposition \">(.*?)</td>",Pattern.MULTILINE);

我已經嘗試用“”替換空格“”並且我已經嘗試了空間但是我什么都沒得到。

如果有人能幫助我,我將不勝感激。

除非你在其中一個中有一個拼寫錯誤 - < /td><和你的正則表達式</td>之后有一個空格。

<導致匹配在RegexBuddy中成功后,在正則表達式中添加空格

更新:似乎空間不在OP正在使用的標簽中。

在RegexBuddy我有模式(復制為Java字符串)

"opposition \">(.*?)</td>"

哪個匹配html

< td class="bold opposition "> "Olympiacos"       </td>

給一場比賽

opposition "> "Olympiacos"       </td>

和第1組

 "Olympiacos"       <--Line ends there.

我相信這就是你要找的東西。

<(\\w+)\\s*(?:\\w+(?:=(?:'(?:[^']|(?<=\\\\)')*'|"(?:[^"]|(?<=\\\\)")*"))?\\s*)*>(.*?)</\\1\\s*>

您將需要使用第二個組來獲取標記的內容(第一個組是標記名稱)。 請注意,這不會遞歸地工作。 嵌套元素在第二組中捕獲,因此您需要在其匹配的第二組上使用此正則表達式,直到沒有匹配為止是有意義的。

暫無
暫無

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

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