我想检查HTML标记(可能分为多行)是否包含“on”JS触发器 . 实际的HTML标记和Javascript没有任何意义 . 例如:
<img src="foo.jpg" onblur="foo()"/>Other stuff
我已经使用该模式完成了大部分工作:
<\w+([^>])+?(on\w+)+[\s\S]+?>
但是,这也匹配:
<p style="font-size:11px;">Other stuff</p>
我将原始模式修改为:
<\w+([^>])+?(\s)+(on\w+)+[\s\S]+?>
但只有当JS触发器关键字前面有2个或更多的空格字符时才匹配 . 向正确的方向轻推将是值得赞赏的 .
2 回答
可能会工作
<\w+(?=\s)[^>]*?\s(on\w+)[\s\S]+?>
尝试这将匹配html,如果它包含
on
但不匹配它,如果它是中间的单词