我正在寻找一个简单的正则表达式(我认为),它将返回所有没有“name”属性的html标签,但是我的弱正则表达式技能对我没什么帮助。
伪造html标签不是问题,但“不包含”是。我根本不知道(我有,但没有一个工作)。
有任何线索吗?
答案 0 :(得分:1)
首先,您不应该使用正则表达式执行此任务。 HTML解析器肯定以您使用的任何语言存在,并且更适合于此。
现在,如果您因任何原因需要使用正则表达式,如果您的实现支持它,您可以使用negative lookahead。表达式
<\w+(?![^>]*\bname\b)
通过<\w+
标识一个开始HTML标记,并且仅当字符串“name”(由word boundaries括起)未出现在下一个结束括号之前时才匹配。
使用RegExr查看此内容。
这仅适用于表现良好的HTML,并且将其扩展为尊重引用的字符串,javascript或评论将是不可能的或非常非常难看。我提到过HTML解析器了吗? =)