关于正则匹配,假如字符串以npm:开头,中间是任意内容,回车字符前结尾

我的问题是这样的:假如我有一个段字符串 如下

"

中秋节快乐,npm: run dev                       
  该命令:是启动项目
中秋节快乐,npm: run build
  该命令:是构建项目 

"

需求是 只要遇到 以npm: 开头,直到下一回车(n)前
将匹配的这部分内容前后添加一个div标签包裹
<div>npm: run dev</div>

最终生成的字符串

"

中秋节快乐,<div>npm: run dev</div>                       
  该命令:是启动项目
中秋节快乐,<div>npm: run build</div>
  该命令:是构建项目 

"

现在的写法是,但是无法做到替换。。。
const reg = /(np)(ws*)+b/g
str.replace(reg, <div>reg</div>)

感谢回答。。。。。。

阅读 3.6k
3 个回答
var str = `中秋节快乐,npm: run dev
该命令:是启动项目
中秋节快乐,npm: run build
该命令:是构建项目 `;
const res = str.replace(/(npm:[\w\W]*?)\n/g, "<div>$1</div>\n");
console.log(res);

请问,将你需要匹配的内容替换成 reg,并且在前后加上 div,的正则怎么写?

<div>reg</div>

请问 reg 和 div 的区别是什么?

一个是变量,一个不是变量?

根据不同实现方式,引用子表达式的方式也不同

\number or $number

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题