我有一个相当大的文本文件,其中包含一堆缺少的换行符,这意味着它很乱。我需要把它分解成适当的行。
现在的文字看起来像这样:
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
它可以在第一组数字之前插入一个数字;我可以处理。
有什么想法吗?感谢。
答案 0 :(得分:13)
非常简单(但不是“华而不实”,因为我懒得使用前瞻):
s/(\d{5})/\r\n\1/gs
答案 1 :(得分:5)
s/(?<=\D)(\d{5})(?=\D|$)/\n\1/g
它可能取决于手头的编程语言,但Perl和Python在\n
上取代了\r\n
,因此在这种情况下将\n
替换为\r\n
是错误的在上面的正则表达式中。