簡體   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