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

标签 javascript regex

我有这种模式,非常适合在每行末尾添加逗号。

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

但我不明白如何更改它,以便它不会在最后一行放置逗号。特别是考虑到最后一行可能以换行符结束。我想我可以在替换完成后搜索逗号并删除最后一个逗号,但这似乎有点弱。有什么方法可以更改此模式,使其永远不会在最后一行添加逗号?

最佳答案

只需从那里删除 $ ,并将其添加为 \n 之后的否定前瞻:

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

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

关于javascript - 表达式将逗号附加到每行的末尾。但不应该做最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19167234/

相关文章:

javascript - textarea 值未显示在区域中

javascript - YouTube 播放器 API : retrieving a reference to an existing player

javascript - 使用正则表达式在不在 anchor 中的页面上查找电话号码

regex - htaccess RewriteRule 特殊字符

javascript - Javascript 中日期的渐进式验证

javascript - jQuery - 返回功能不会立即触发

javascript - foreach 结果是一个数组,如何获取元素的值而不是数组?

regex - 在 Hive 中处理正则表达式中的多个匹配项

c# - ASP.net RegularExpressionValidator 即使输入无效也允许回发

c# - 如何以任意序列搜索模式?