正则表达式替换为重复,如何替换 X 次出现的“.+?\r\n”中的每个“\r\n”?

Regex Replacement with Repetition, How do I replace each "\r\n" in X number of occurrences of ".+?\r\n"?

我有一个很长的列表,每一项都用换行符分隔。如果可能,我想将所有内容分组到最多 1000 个组中,如果不是,则更少,用逗号分隔。

所以当使用类似... (.+?(\r\n)){1000} 我如何用逗号替换每次重复的 \r\n 匹配?

此外,如果可能的话,我如何让它匹配最多 1000 个,如果不是,则尽可能多(对于列表的组)?我以为它会是 {,1000} 但那是错误的。

我想不出一种方法可以通过一次替换来完成此操作,但可以通过两次替换操作实现。

先把\R+换成,

然后将^((?:[^,]*,){1000})替换为\r\n

如果您担心包含逗号的原始行会被误解,您可以使用占位符字符串,例如

先把\R+换成!!--PLACEHOLDER--!!

然后将^((?:(?:(?!!!--PLACEHOLDER--!!).)*!!--PLACEHOLDER--!!){1000})替换为\r\n

将所有占位符 !!--PLACEHOLDER--!! 替换为您喜欢的分隔符 ,