第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么用regex解析XML是個壞主意?

為什么用regex解析XML是個壞主意?

為什么用regex解析XML是個壞主意?我只是回顧了我之前寫的一篇文章,注意到很多人建議我不使用Regex來解析XML。在這種情況下,XML相對簡單,Regex沒有造成任何問題。我還解析了許多其他代碼格式,因此為了一致性起見,這是有意義的。但我很好奇這在其他情況下會有什么問題。這僅僅是一個“不要重新發(fā)明車輪”的問題嗎?
查看完整描述

3 回答

?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗 獲得超4個贊

真正的問題是嵌套標(biāo)記。嵌套標(biāo)記很難用正則表達(dá)式處理。有可能平衡匹配,但這只在.NET中可用,可能還有其他幾種版本。但是即使有了平衡匹配的能力,一個錯誤的評論也有可能拋棄正則表達(dá)式。

例如,這是一個很難解析的問題.

<div>
    <div id="parse-this">
        <!-- oops</div> -->
        try to get this value with regex    </div></div>

您可以使用正則表達(dá)式搜索這樣的邊緣情況數(shù)小時,并可能會找到解決方案。但實際上,當(dāng)有專門的XML、XHTML和HTML解析器能夠更可靠、更有效地完成這項工作時,就沒有意義了。


查看完整回答
反對 回復(fù) 2019-06-25
?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗 獲得超1個贊

這一點在這里已經(jīng)討論過很多次了。見A.

您能提供一些示例,說明為什么用regex解析XML和HTML很困難嗎?

為什么不能使用regex解析HTML/XML:一種外行術(shù)語的正式解釋

只需按照屏幕右側(cè)的鏈接找到更多答案。

我的結(jié)論是:

簡單,因為正則表達(dá)式不是解析器,這是一個可以找到的工具模式.

如果您想在(ht\x)ml文件中找到一個非常特定的模式,那么繼續(xù),regex是最好的選擇。

但是,如果您要在每個foo標(biāo)記中搜索可能具有不同順序的屬性、可以嵌套的屬性、格式錯誤的屬性(并且仍然有效),那么就使用解析器,因為這不再是模式匹配了。


查看完整回答
反對 回復(fù) 2019-06-25
?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗 獲得超7個贊

XML不是一種常規(guī)語言(這是一個技術(shù)術(shù)語),因此您永遠(yuǎn)無法使用正則表達(dá)式正確地解析它。您可能在99%的時間內(nèi)都是成功的,但隨后有人會找到一種編寫XML的方法,它會拋出您。

如果你正在寫一種屏幕刮刀,那么99%的成功率就足夠了。對于大多數(shù)應(yīng)用程序來說,情況并非如此。


查看完整回答
反對 回復(fù) 2019-06-25
  • 3 回答
  • 0 關(guān)注
  • 671 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號