可能重複:
regular expression to check if string is valid XML正則表達式查詢字符串是有效的XHTML或不
我期待正則表達式查詢字符串是有效的XHTML或不
例如
<h2>Legal HTML Entity References</h2><table align="center" border="0" ><tr></tr></table>
可能重複:
regular expression to check if string is valid XML正則表達式查詢字符串是有效的XHTML或不
我期待正則表達式查詢字符串是有效的XHTML或不
例如
<h2>Legal HTML Entity References</h2><table align="center" border="0" ><tr></tr></table>
這聽起來像個不好主意:有效的XHTML字符串的語言是不是常規的。
改爲使用HTML解析庫。舉幾個例子:
相關問題:
正則表達式正是使用錯誤的工具。
HTML不是正規語言,因此無法通過正則表達式進行分析。
見傑夫關於這一問題在這裏發佈: http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html
既然你已經標記了這個帖子的Java,你應該看看使用HTML,可解析庫的無數之一。
看看這裏爲什麼解析使用正則表達式將無法可靠地工作HTML:RegEx match open tags except XHTML self-contained tags
XHTML只不過是另一種風味/ HTML的超集,讓你在使用一個真正的驗證的更好,就像JTidy等。
嘗試使用解析器檢查它。不要這樣做Cthulhu Way。
在這裏你可以找到一個strating點和如何做到這一點的例子:The Java XML Validation API
你真的需要閱讀一些有關喬姆斯基語言層次和形式文法。您只能使用正則表達式檢查常規語言,而XHTML不是常規語言。 [1]:http://en.wikipedia.org/wiki/Formal_grammar#The_Chomsky_hierarchy – balent