在记事本++中交换文本顺序

在记事本++中交换文本顺序

我正在尝试交换以下代码(超过 1000 行):

从:

HA09 HA(a9b0,  a8b1,         Cout09, Sum09);
FA19 FA(Sum09, a7b2, Cout08, Cout19, Sum19);

到:

HA HA09(a9b0,  a8b1,         Cout09, Sum09);
FA FA19(Sum09, a7b2, Cout08, Cout19, Sum19);

我尝试过使用此命令,但目前它不起作用:

  • 找什么:(^.*) (.*?$)
  • 用。。。来代替:\2 \1

有什么办法可以交换它吗?

答案1

  • Ctrl+H
  • 找什么:^(\w+) (\w+)
  • 如果有除“单词”字符以外的其他字符[a-zA-Z0-9_],则可以使用:
    • 找什么:^(\S+) ([^(]+)
  • 用。。。来代替:$2 $1
  • 查看 相符
  • 查看 环绕
  • 查看 正则表达式
  • 取消选中 . matches newline
  • Replace all

解释:

^           # beginning of line
  (\w+)     # group 1, 1 or more word characters
            # a space
  (\w+)     # group 1, 1 or more word characters

选择:

^           # beginning of line
  (\S+)     # group 1, 1 or more non space character
            # a space
  ([^(]+)   # group 2, 1 or more any character that is not an opening parenthesis

替代品:

$2          # content of group 2
            # a space
$1          # content of group 1

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

答案2

在 Notepad++ v7.8.5 中,以下内容有效:

  • 找什么:(\w+) (\w+)(\(.*?\))
  • 用。。。来代替:$2 $1$3

. matches newline如果函数定义可能跨越多行,则应进行检查。可能会出现误报;取决于您使用的语言。

相关内容