這是關於解析HTML的內聯CSS樣式屬性。我正在使用JSoup,但據我所知,JSoup選擇不提供幫助......我不知道爲什麼。這意味着用戶必須找出關鍵和值等合法字符的規則,即什麼構成了「正確形成的」CSS樣式「屬性」(這是否是正確的術語?)[以後:否!風格「屬性」,根據CSSParser])。正則表達式「分號或字符串末尾」
無論如何,在提取每個單獨的鍵值對時,我想要用分號將它們分開......但在最後一對中,尾隨分號是可選的。但是,考慮到空白區域,它將以字符串的結尾結束。
所以,我想這一點:
Pattern styleSubattrsPattern = Pattern.compile("([A-Za-z0-9-]+)\\s*:\\s*([A-Za-z0-9-]+)\\s*[$;]");
...的意思是指「任何一個分號或字符串的結尾」。但它不起作用:最終的鍵值對不匹配。
後
問題的根源確實使用CSSParser解決。
'([^; ])''如果你不想匹配';'(這意味着*後面跟着一個不是';'*的字符),就應該這樣做; –
有趣......似乎工作... Tx爲了解釋......只是試圖讓我的頭靠近在! –
實際上,您的斜體短語可以精確地總結出需要的內容......並且可能與瀏覽器算法必須解析的方式相對應......所以也許您應該對此做出答案? –