我想確定一個給定的頁面是否不尊重標題標籤(h1,h2等)順序。事實上,我希望能夠解析一堆頁面,並且它會按照頁眉順序返回每頁DONT。解析HTML標頭標籤的最有效的方法順序
我的第一個目標是能夠發現是否緊接其後是除h2之外的其他東西。我用以下模式實現了這一點
(?<=<h1[^<>]*>.+?)(?<!<h1[^<>]*>.+?<h2[^<>]*>.+?)<h[3-6][^<>]*>
以前的正則表達式正在爲我工作,雖然它並不是非常有效,也不是完美的。
所以在第一我想有一些幫助改善這種模式,如果可能的話解釋一下比較我的舊模式和它爲什麼如此低效。而在第二個,我想升級/修改模式,以達到最初的目標,確保文檔頭標籤順序得到尊重。
注: 我使用RegexHero爲基準
I know Regular Expressions are typically not best practice for parsing HTML但是這更多的是一個鍛鍊自己的用戶更有效地lookarounds,原子分組和這樣的,感謝您的理解。
我們可以使用下面的模式和以下文本作爲樣本
模式:
(?<=lol1.+?)(?<!lol1.+?lol2.+?)lol[3-6]
文字:
lol1 BLA lol3喇嘛lol2喇嘛lol4
如果我假如每次我看到有人試圖解析HTML或XML正則表達式時鎳... – 2013-02-13 16:28:08
@YuriyFaktorovich請參閱更新 – 2013-02-13 16:59:27
嗯,你可以編輯標題使其與HTML無關? – Bergi 2013-02-13 17:05:34