我想使用我的文本编辑器查找未编码的&符号(&
),它们位于<a>
标记内或href
属性中,以便我可以编码这些&符号。正则表达式应不在脚本标记,HTML注释(条件注释)或任何已编码的&符号中找到任何&符号。
到目前为止,我有:
&(?!amp;)
虽然它与已编码的&符号不匹配,但它确实匹配内部注释和脚本标记。以下是我正在使用的文字条件:
<!--[if (gte IE 6)&(lte IE 8)]-->
<a href="blog.html?id=1&height=471&flexible=0&post_limit=1">
<script>
if something && another
{ do stuff; }
</script>
如何在内部脚本和注释中阻止正则表达式匹配&
?
答案 0 :(得分:1)
您可以尝试使用捕获括号和反向引用:
搜索:(<a.*)&(?!amp;)(.*)
替换:\1&\2
在我的测试(Aptana Studio)中,如果一行有多个未编码的&符号,则需要多次搜索/替换(但如果我按住Alt + d进行替换/查找,整个文件会很快更新)