js 正则表达式问题,无法匹配回车换行符

const r = /\((\d+),(#[\da-f]{6})\)([\d\D]*)/i;

const str = '(16,#FFFFFF)'1.你好
2.我很好
3.谢谢你来解答问题


if(str.match(r)){
      const m = transform.match(r);
      console.log(m[3]); //输出出来是1.你好 2.我很好 3.谢谢你来解答问题  ,没有换行

//需要的输出是

m[3]='1.你好
     2.我很好
     3.谢谢你来解答问题'

如上代码所示,输出出来没有换行,请我我的正则该怎么写呢

阅读 5.7k
2 个回答

image.png

这不是你正则的问题,是你字符串定义的问题

const str = '(16,#FFFFFF)1.你好\n2.我很好\n3.谢谢你来解答问题'

也可以像一楼那样使用es6的模板字符串

const str = `(16,#FFFFFF)1.你好
2.我很好
3.谢谢你来解答问题`
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题