首页 > 解决方案 > 如何仅在双引号Notepad ++之间的字符串和数字组合中替换字符串?

问题描述

我试图在一些文章中用“k”替换“g”:

this is "g1"..., and  "g2" is......, last "g1034" shows that...

最终结果将是

this is "k1"..., and  "k2" is......, last "k1034" shows that...

我正在使用以下正则表达式来查找模式:

"([^"]*)"

但未能以成功取代。

我该如何更换?提前谢谢

标签: regexnotepad++

解决方案


一种选择是使用

"\Kg(?=\d+")
  • "匹配"
  • \Kg使用 忘记当前匹配的内容\K,然后匹配g
  • (?=\d+")正向前瞻,断言右边是 1+ 位和"

并替换为k

正则表达式演示


另一种选择可能是使用捕获组

(")g(\d+")

在替换中使用 2 组

$1k$2

正则表达式演示

请注意,如果您不想只匹配数字,您可以使用[^"]+而不是\d+匹配至少 1 个字符后g或使用*匹配 0 个或更多字符后g


推荐阅读