如何使用正则表达式查找长行并在给定列之前的最后一个逗号处插入换行符?

时间:2014-01-16 18:57:08

标签: regex notepad++

我在Notepad ++中打开了一个文本文件,其中一些行超过112列,我想避免使用。当这些行中的任何一行到达第112列时,字符串中出现逗号。像这样。

1,2,3,4...109,110,111,112,113

(让我们暂不相信并想象三位数字每个占据一列)

最后我想要这样的事情:

1,2,3,4...109,110,111,112,
113

到目前为止,我已经找到了正则表达式来查找所有太长的行:

^.{113,}$

对于我的生活,我无法想象如何捕获我正在寻找的字符串到该列的字符串,所以我可以在它后面的换行符。

任何人都知道如何做到这一点?

2 个答案:

答案 0 :(得分:3)

这应该这样做:

^(?=.{112})(.{0,111},)

它匹配至少包含112个字符的行的开头(按lookahead),然后在逗号前匹配尽可能多的字符(最多111个)。

将此替换为捕获的组,然后换行(\1\n)。

答案 1 :(得分:0)

使用括号创建捕获组:

^(.{112},).+

这将识别大于112列的行。然后取出捕获组,追加换行符,并替换该行中的捕获组。

相关问题