[英]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.