Notepad++ 将双方括号之间的文本移动到非标准线条模式的行尾

Notepad++ 将双方括号之间的文本移动到非标准线条模式的行尾

所以我有一个脚本,其中的行由回车符分隔。有时作者会搞砸,将注释(包含在 [[]] 中的文本)放在行的中间或开头,而注释应该放在行的末尾。由于这不统一,我很难找到一种方法来将这些注释自动移动到 Notepad++ 中它们出现的行的末尾,无论是通过宏还是一些花哨的正则表达式查找和替换。

简单地说,我想要一种自动化的方法:

hello [[emphasis]] my friends!
[[laugh]] how are you?

到:

hello my friends! [[emphasis]]
how are you? [[laugh]]

答案1

这可以在代替对话:

  • 查找内容 =(?-s)(\[\[.*\]\])[\h]*(.*?)[\h]*$
  • 替换为 =$2 $1
  • 搜索模式 = 正则表达式

基本上,我会搜索[[...]]并将其放入$1,然后将其后的所有内容放入$2。然后它会替换这两个,以使$2位于 之后$1。我做了一些额外的事情,例如确保它忽略. matches newlines,这样它就.*不会换行

仅供参考:如果您有进一步的搜索和替换(“匹配”,“标记”,“书签”,正则表达式,“正则表达式”)需求,请研究Notepad++ 社区的常见问题解答以及它指向的文档。它将帮助您在 Notepad++ 中使用正则表达式,并帮助您了解我编写的正则表达式的细节。

相关内容