2016-04-26 66 views
-2

我想寫一個正則表達式,它將列出我沒有analytics-on屬性的HTML文檔中的所有buttonanchor標籤。正則表達式來獲取HTML按鈕和錨點標籤沒有屬性

我有兩個測試環境:

<button class="btn" 
    ng-click="doSomething()">Do something without analytics</button> 

而且

<button class="btn" 
    ng-click="doSomething()" 
    analytics-on analytics-event="Did something" analytics-category="Category">Do something with analytics</button> 

首先應該匹配,但第二個不應該因爲它有分析標籤。

到目前爲止,我有:

/<(button|a)([^>]*)>/s 

哪個匹配的buttonanchor標籤多行,但不找沒有analytics-on我如何檢查呢?

+0

@zzzzBov有關建議嗎?我打開其他選項 – Edd

+0

有史以來的任何DOM庫。 – zzzzBov

+0

@zzzzBov我希望寫一個簡單的腳本,所以我可以grep這些,我敢肯定這是可能的 – Edd

回答

1

正如評論中的建議,您應該使用HTML解析器。

但是,如果您只是想了解有多少按鈕/錨點爲了技術分析,修飾等目的而沒有此屬性,那麼您只能使用此正則表達式,然後轉至使用HTML解析器:

<(button|a)(?!([^>]*?)analytics-on)(?:[^>]*?)>(?:[^<]*)<\/(button|a)> 

工作示例here

+1

這正是我需要的,謝謝! – Edd

相關問題