我有正则表达式,我已经在regex/([ ]*\n)+/gm上测试过了,但是当我在nodejs中使用相同的正则表达式时,它不会取代换行符.正则表达式是/([ ]*\n)+/gm.它应该用一个新行替换多个新行.代码如下.这段代码是我的vscode扩展的一部分.有人能告诉我我做错了什么吗?

function format(str) {
    const regex = /([ ]*\n)+/gm;
    const subst = `\n`;
    const result = str.replace(regex, subst);
    return result;
}

function format(str) {
  const regex = /([ ]*\n)+/gm;
  const subst = `\n`;
  const result = str.replace(regex, subst);
  return result;
}


console.log(format(`abc
      
d

s




  

             

s`));

推荐答案

这个问题很可能与CRLF行的结尾有关.

你可以用

str.replace(/(?:\s*\n)+/g, '\n')

请注意,这里不需要m国旗.

请参见JavaScript演示:

const str = "abc\r\n      \r\nd\r\n\r\ns\r\n\r\n\r\n\r\n\r\n  \r\n\r\n             \r\n\r\ns";
console.log(str.replace(/(?:\s*\n)+/g, '\n'));

const str2 = "abc\n      \nd\n\ns\n\n\r\n\r\n\n  \n\r\n             \n\ns";
console.log(str2.replace(/(?:\s*\n)+/g, '\n'));

Javascript相关问答推荐

JavaScript文本区域阻止KeyDown/KeyUp事件本身上的Alt GR +键组合

是否有方法在OpenWeatherMap API中获取过go 的降水数据?

Google Apps脚本中的discord邀请API响应的日期解析问题

如何用显示网格平滑地将元素从一个地方移动到另一个地方?

使用复选框在d3.js多折线图中添加或删除线条

在react js中使用react—router—dom中的Link组件,分配的右侧不能被 destruct ''

更改JSON中使用AJAX返回的图像的路径

如何在ASP.NET中使用Google Charts API JavaScript将条形图标签显示为绝对值而不是负值

如何将zoom 变换应用到我的d3力有向图?

元素字符串长度html

如何在JAVASCRIPT中合并两组对象并返回一些键

如何在我的Next.js项目中.blob()我的图像文件?

从逗号和破折号分隔的给定字符串中查找所有有效的星期几

expo 联系人:如果联系人的状态被拒绝,则请求访问联系人的权限

Next.js中的服务器端组件列表筛选

如何用javascript更改元素的宽度和高度?

无法使用Redux异步函数读取未定义的useEffect钩子的属性';map';

表单数据中未定义的数组键

TabNavigator和StackNavigator之间的Reaction Native中的导航问题

有角粘桌盒阴影