我正在尝试交换以下代码(超过 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
如果函数定义可能跨越多行,则应进行检查。可能会出现误报;取决于您使用的语言。