表达式将逗号附加到每行的末尾。不应该做最后一行

时间:2013-10-03 19:06:25

标签: javascript regex

我有这种模式,适用于在每行的末尾添加逗号。

str.replace(/(.+)\s*?($|\n)/gm, "$1, $2")

但我无法理解如何更改它以便它不会在最后一行上添加逗号。特别是考虑到最后一行可能会在一次换行中结束。我想我可以在替换完成后搜索逗号并删除最后一个逗号,但这似乎有点弱。有没有什么方法可以改变这种模式,以便它永远不会在最后一行添加逗号?

2 个答案:

答案 0 :(得分:2)

只需从那里删除$,然后在\n之后将其添加为负面展示:

str.replace(/(.+)\s*?(\n(?!$))/gm, "$1, $2")

如果它不在字符串的末尾,则只会在\n之前添加逗号。

答案 1 :(得分:0)

为什么不考虑一点点不同而且非常简单:

\ r吗?\ n(+)