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

相关问题