如何替换JUST域通配符而不是整行?

时间:2019-04-15 21:22:21

标签: html regex notepad++

我试图用一个新的域替换长的URL,而这个域只进入根目录,但是当我使用通配符时,它不仅替换了URL,还替换了后面写的代码

我尝试在通配符后添加要搜索的内容,该内容将是引号",但似乎并没有止于FIRST引号。

例如我正在使用 find: site1.com/.*" replace:site2.com/shop

但这给了我 site1.com/2018/02/08/best-cannabis-strains-relieve-stress/" rel="canonical" /><meta property="og:locale" 并继续前进。 如何使通配符字符串在第一个"处停止并且不继续运行

2 个答案:

答案 0 :(得分:0)

这应该可以解决您的问题:site1\.com\/[^"]*

[^"]的意思是:除了引号外什么都没有。

如果您想了解更多信息,则应查找正则表达式。

答案 1 :(得分:0)

因为*贪婪量词,所以它不会在第一引号处停止。这意味着它将找到尽可能多的东西。

为了使其懒惰(即尽快停止),您可以在量词中添加?。即:*?

因此,给定此字符串aaabaaab

此正则表达式将匹配:

^.*baaabaaab

^.*?baaab

注意

惰性修饰符也可用于其他量词,例如?+{}

如对另一个答案所述,用贪婪的量词停在第一引号上的另一种方法不是使用.,而是使用anything but quote character[^"]*"