我有一个很长的列表,每个项目用换行符分隔。如果可能的话,我希望将所有内容分组为最多1000个,如果不可以,则将其分组,用逗号分隔。
因此,当使用类似... (.+?(\r\n)){1000}
的内容时,如何用逗号替换每次重复的\r\n
匹配?
另外,如果可能的话,我如何尽可能多地匹配1000个(对于列表组)?我认为这将是{,1000},但错误。
答案 0 :(得分:2)
我无法通过一次替换来想办法,但可以通过两次替换操作来实现。
首先将\R+
替换为,
然后将^((?:[^,]*,){1000})
替换为\1\r\n
如果您担心包含逗号的原始行会被误解,您可以使用占位符字符串,例如。
首先将\R+
替换为!!--PLACEHOLDER--!!
然后将^((?:(?:(?!!!--PLACEHOLDER--!!).)*!!--PLACEHOLDER--!!){1000})
替换为\1\r\n
将所有占位符!!--PLACEHOLDER--!!
替换为您想要,