我正在使用notepad ++,我想创建一个自动化来替换一些字符串。
在这种情况下,我将处理a href
标记。
所以,我将在代码中给出3个代码行示例:
01 )
<a href="https://url.com" class="logo"><img src="urlurlurlurl" alt=""></a>
02 )
<a href="https://url.com" class="logo"><img src="urlurlurlurl" alt="">
</a>
03 )
<a href="https://url.com"><img src="urlurlurlurl" alt=""></a>
04 )
<a href="https://url.com">link</a>
因此,如果我想在所有4个案例中替换上面的完整a href
标记,我会使用此标记:<a href(.*?)a>
现在,我试图想办法只替换href标签中的url。
我尝试使用它:
href="(?s)(.*?)"|href ="(?s)(.*?)"
并且它工作正常,因为我还考虑到可能存在空间。
但是现在在替换窗口中我必须包含href=""
有没有办法让它搜索a href
标签,然后替换它的特定子字符串?
我想知道,因为有些情况下,我有其他标签包含网址,我想替换它。但是,引号(“string”)中包含的所有字符串的通用替换都不会很好,因为我不会替换所有字符串。
答案 0 :(得分:1)
您可以使用否定类来匹配href
之前和之后的所有内容,
(a[^>]*href\s*=\s*")[^"]*
替换为捕获组$1REPLACE_STRING
它的作用是什么?
a[^>]*
匹配a
后跟关闭>
以外的任何内容。href\s*=\s*"
匹配href="
。直到这里被捕获在第1组。[^"]*
匹配"
以外的任何内容。这将形成您要替换的网址。