您能否舉例說明為什么難以用正則表達式解析XML和HTML?一個錯誤我看到人們做了,并再次試圖解析XML或HTML用正則表達式。以下是解析XML和HTML很難的幾個原因:人們希望將文件視為一系列行,但這是有效的:<tagattr="5"/>人們希望將<或<tag視為標記的開頭,但是這樣的東西存在于野外:<img src="imgtag.gif" alt="<img>" />人們通常希望將起始標記與結束標記匹配,但XML和HTML允許標記包含自身(傳統的正則表達式根本無法處理):<span id="outer"><span id="inner">foo</span></span>人們通常希望匹配文檔的內容(例如著名的“查找給定頁面上的所有電話號碼”問題),但數據可能會被標記(即使在查看時看起來是正常的):<span class="phonenum">(<span class="area code">703</span>)<span class="prefix">348</span>-<span class="linenum">3020</span></span>評論可能包含格式不正確或不完整的標記:<a href="foo">foo</a><!-- FIXME:
<a href="
--><a href="bar">bar</a>你還知道其他什么問題?
您能否舉例說明為什么難以用正則表達式解析XML和HTML?
哈士奇WWW
2019-05-23 11:03:38