我有一个类似的文件
[A()]
[B(), C()]
我想像这样将C()移动到它下面的行中
[A()]
[B()]
[C()]
现在,我有\,?\s?C\(.*\)
与C()
部分匹配。我不确定如何将匹配项插入下一行。
一旦发生这种情况,在大多数情况下可能看起来像这样:
[A()]
[B()]
, C()
那很好,我将需要做另一遍操作才能在括号中添加/删除逗号。我的问题仅是将匹配的捕获组插入下一行(并将其从当前行删除)。
例如,如果找到某行标记作为匹配行(没有找到匹配项),称为$$
,我想将\,?\s?C\(.*\)
替换为$$\n$1
,假设$1
是匹配的文本(由于上述原因,请再进行一次遍历)。
我在记事本++中。
答案 0 :(得分:1)
要一次性完成所有操作,您可以搜索
NUM_COLS
并替换为
\,?\s?C(\(.*?\))
即-匹配前导逗号和空格(如果存在),捕获参数列表及其周围的括号,然后替换为结束括号,换行符和捕获的组
答案 1 :(得分:0)
,\h*(C\()
]\n[$1
或]\r\n[$1
说明:
, : a comma
\h* : 0 or more horizontal spaces
( : start group 1
C\( : C followed by an open parenthesis
) : end group
替换:
] : close bracket
\n : linefeed
[ : open bracket
$1 : content of group 1, ie. C(
给定示例的结果
[A()]
[B()]
[C()]