繁体   English   中英

正则表达式替换匹配并删除不匹配

[英]Regex replace matched and remove not matched

有没有一种方法可以使用Notepad ++替换工具替换一部分匹配行并仅通过一个查询删除所有不匹配的行?

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

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

预期结果:

There is line with "123" part

作为图案使用

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

并用作替代用途

$2"123"$3

我最好的镜头:

(^[^\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]*?$) :后跟“ quoted”
  • .*?$)+ :一次或多次

在np ++ v6.1中测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM