0

有没有办法使用 Notepad++ 替换工具替换部分匹配行并删除所有不匹配的行?

例如:(引号中的字符串应替换为 123)
输入:

There is line with "quoted" part
There is another line

预期结果:

There is line with "123" part
4

2 回答 2

1

作为模式使用

([^"]*?)^(.*?)".*?"(.*)([^"]*$)

并作为替代使用

$2"123"$3
于 2012-10-25T12:25:00.757 回答
-1

我最好的镜头:

寻找

(^[^\r\n]*?)("quoted")([^\r\n]*?)$((\r\n)?(?![^\r\n]*?"quoted"[^\r\n]*?$).*?$)+

用。。。来代替

$1"123"$3

对于""Ωmega 答案之间的每个模式都很好,这个可以让您替换特定模式,而不是引号之间的所有内容。

解释:

  • (^[^\r\n]*?): 查找任何没有换行符的字符序列(非贪婪地)
  • ("quoted"): 后跟“引用”
  • ([^\r\n]*?)$: 直到行尾
    • ((\r\n)?: 我们在新行
    • (?![^\r\n]*?:向前看(否定)以避免非换行符序列
    • "quoted"[^\r\n]*?$): 后跟“引用”
  • .*?$)+: 一次或多次

在 np++ v6.1 中测试

于 2012-10-25T12:41:17.960 回答