簡體   English   中英

刪除花括號之間多余的空行

[英]Remove extra empty lines between curly brackets

在這種情況下,我想從命令行運行perl表達式以刪除大括號之間的多余行:

  // some code
  }
       <-- empty line to remove
}
// more code

如果僅當第二個花括號在行的開頭時才希望這樣做:

perl -0777 -pi -we's/}\n\n}/}\n}/g' filename

即使縮進:

perl -0777 -pi -we's/}\n(\n[^\S\n]*(?=}))/}$1/g' filename

如果“空”行或第一個大括號之后可能有多余的空格:

perl -0777 -pi -we's/(}[^\S\n]*\n)[^\S\n]*\n([^\S\n]*(?=}))/$1$2/g' filename

您可以使用regex用\\n$1替換(?<=})\\s*\\n(?:\\s*\\n)+(\\s*}) 不幸的是,我不了解perl,所以我不介意有人竊取此模式來編寫完整答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM