使用powershell 5.1,为什么我试图在myText.txt的每个regex匹配处插入一条换行符,这与我所期望的不一样?
据我所知,我的regex工作得很好,每隔5个逗号就匹配一个。

不幸的是,代码未能在每个regex匹配处注入/替换/插入换行符。由于某种原因,每次运行以下语句时,都会向末尾添加一条换行符:
为了检验这个,
,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,
myText.txt文件,该文件与,一起跟踪,看起来与以下所示完全相同:$splitEveryNthComma = ((Get-Content -path .\myText.txt -Raw) -replace "(?<=^((,^,*){5})+),]",“n,")集-Content -Path .\myText.txt
如何更改上面的代码以获得下面的“预期结果”?
myText.txt的预期结果
,1,2,3,4,5
,6,7,8,9,10
,11,12,13,14,15
,16,17,myText.txt:的实际结果
,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,
{new line is added to the end. This is the bug im asking about.}发布于 2021-01-09 01:54:44
您的正则表达式可以简化。
",1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17," -replace "((,[^,]*){5})", "`$1`n"给出
,1,2,3,4,5
,6,7,8,9,10
,11,12,13,14,15
,16,17,regex (,[^,]*){5}捕获第一个/下5个逗号(包括它们后面的任何逗号),并在后面追加一个换行符。表达式中的括号为{5}分组(上面代码块中的外括号是捕获的内容)
https://stackoverflow.com/questions/65638500
复制相似问题