我正在处理以下字符串:
d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{}; source
与重新放置源代码相同(这是捕获源代码的一个好例子):
d.innerHTML= lala; possibly other stuff; source " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};
我正在尝试捕获innerHTML在其值中包含字符串“ source”的任何情况。我尝试使用此正则表达式来匹配两个字符串之间的任何内容:
innerHTML=(.*?)source
但是它失败了,因为它将继续在整个页面中搜索“ source”关键字(并且将匹配途中的所有内容)。所以我尝试设置一个代表函数结束的限制,例如:
innerHTML=(.*?)(source|[})\]\n])
但这也失败了,因为它仍然可以匹配我设置的所有内容(请记住-我只想在源实际存在时进行匹配)。
我不知道如何执行此操作,而无论在innerHTML值之外提到“ source”的任何地方都不会产生误报。请帮忙吗?