Groupe每行五行 - Regex NotePad ++

时间:2016-05-27 10:49:22

标签: regex

我有一个包含大量数据的文件文本:

A
B
C
D
E
F
G
H
I
J

我希望将每行5行分成一行,如下所示:

ABCDE
FGHIJ

我尝试使用此正则表达式,但它不起作用

Find What: (\r\n{3})
Replace with: $1\n

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

我会这样做like so

(?:(.*)\r\n)(?:(.*)\r\n)?(?:(.*)\r\n)?(?:(.*)\r\n)?(?:(.*)\r\n)?

并替换为:$1$2$3$4$5\n

答案 1 :(得分:0)

您可以使用

^(.*)\R(.*)(?:\R(.*))?(?:\R(.*))?(?:\R(.*))?

替换为$1$2$3$4$5\R代表任何换行样式,CRLF,CR或LF。 ^是必要的(行首),以确保我们在成功匹配后开始计算下一行的行。

另请注意,我们需要至少启动1个换行符并且#34;合并"行(请参见模式开头的(.*)\R(.*))。

模式详情

  • ^ - 行首
  • (.*)\R - 末尾有换行符的行,其内容被捕获到第1组
  • (.*) - (第2组)在第一个捕获后的行
  • (?:\R(.*))? - 可选(1或0)换行符后跟换行符(第3组)以外的一些(0或更多)字符
  • (?:\R(.*))? - 同上。 (第4组)
  • (?:\R(.*))? - 同上。 (第5组)

请参阅以下屏幕:

enter image description here

答案 2 :(得分:0)

如果你想使用notepad ++来做这件事,并且如果使用正则表达式不是绝对的要求你也可以使用这样的简单宏:

  • 将光标放在第一行+第一列。
  • 开始录制宏(宏 - >开始录制)
  • 点击"结束" /" Del"四次
  • 点击" Pos1"
  • 点击"向下箭头"
  • 停止录制宏(宏 - >停止录制)
  • 最终保存此宏,如果需要另一次(宏 - >保存当前记录的宏)

现在多次播放此宏直到文件结尾(宏 - >多次运行宏)