Regex将换行插入到特定位置的大文本块中

Regex将换行插入到特定位置的大文本块中,regex,Regex,我有一个相当大的文本文件,其中有一堆缺少的换行符,这意味着它是一团混乱。我需要把它分成几行 文本现在看起来像这样: 12345 This is a chunk 23456 This is another chunk 34567 This is yet another chunk 45678 This is yet more chunk 56789 Yet another piece of text 我需要一个正则表达式,它将在每组五位数之前插入一个换行符(CR/LF对),结果如下: 12345

我有一个相当大的文本文件,其中有一堆缺少的换行符,这意味着它是一团混乱。我需要把它分成几行

文本现在看起来像这样:

12345 This is a chunk 23456 This is another chunk 34567 This is yet another chunk 45678 This is yet more chunk 56789 Yet another piece of text
我需要一个正则表达式,它将在每组五位数之前插入一个换行符(CR/LF对),结果如下:

12345 This is a chunk 
23456 This is another chunk 
34567 This is yet another chunk 
45678 This is yet more chunk 
56789 Yet another piece of text
可以在第一组数字前插入一位,也可以不插入;我能应付的

有什么想法吗?谢谢。

非常简单(但不要太“浮华”,因为我懒得用lookaheads):


s/(?您可能想要\r\n因为OP想要CR/LF@cletus:这可能取决于编程语言,但在Windows上,Perl和Python将\r\n替换为\r\n。请注意,并根据要求进行修改。你们真是太棒了(而且很快)。谢谢!谢谢,J.F。您的解决方案也可以工作(上面对cmartin的评论中提到的\r\n的更正)。这完全取决于您使用的正则表达式引擎。在Perl/Python中,您完全正确。我对一些要导入的文件进行了一次性清理,并使用了RegExBuddy;这是所需的正则表达式的味道。\r\n再次感谢。不,这项研究非常好-我最近一直在使用它。我想到的是大约2年前的一项go.R Harvey或Bill the Lizard(或Shog)定期发布自我回答(IRC),其中一个达到了SO用户的最低期望值(尽管这可能只是更广泛帖子的一部分)在这本书中,我明确指出,用户应该知道如何编程和使用调试器。还有更多的内容,包括一些关于研究的东西,但其他部分是我想掌握的。我过去曾梳理过哈维的MSO帖子目录,但都没有用,但它实际上可能是其他人的,也可能是其他人的我会在MSE上。早些时候我在MSE上搜索了一些关键词,但没有结果。无论是谁写的,每周都会发布一到两个好的“宣言”,并且编辑/碰撞其他人很长时间。也许MSE上那个善于查找其他帖子的家伙可以找到它(忘记他的名字,因为我很久没去过MSO了)@普卢图尼克斯:我也找了哈维的,但找不到。我仍然认为我知道你在想什么,并会继续寻找。这更多的是一份你应该做什么的清单(但不是)
s/(\d{5})/\r\n\1/gs
s/(?<=\D)(\d{5})(?=\D|$)/\n\1/g