我有一个相当大的文本文件,有一堆缺少的换行符,这意味着它是一个烂摊子.我需要将其分解为适当的行.
文本现在看起来像这样:
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
Run Code Online (Sandbox Code Playgroud)
我需要一个正则表达式,它将在每组五位数之前插入一个换行符(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
Run Code Online (Sandbox Code Playgroud)
它可以在第一组数字之前插入一个数字; 我可以处理.
有任何想法吗?谢谢.
use*_*650 13
非常简单(但不是尽可能"浮华",因为我懒得使用前瞻):
s/(\d{5})/\r\n\1/gs
Run Code Online (Sandbox Code Playgroud)
s/(?<=\D)(\d{5})(?=\D|$)/\n\1/g
Run Code Online (Sandbox Code Playgroud)
它可能取决于手头的编程语言,但在Windows上用Perl和Python代替\n,\r\n因此在这种情况下\n,\r\n在上面的正则表达式中替换它是错误的.