JavaScript正则表达式赢得';与新线不匹配

JavaScript正则表达式赢得';与新线不匹配,javascript,node.js,regex,Javascript,Node.js,Regex,我目前正在使用NodeJS制作一个简单的应用程序,将输入转换为定义的格式。为此,我使用了下面的JavaScript,其中content是输入 content = content.replace(/(.+)\n=+$/gm, '<div>$1</div>'); content = content.replace(/(.+)\n-+$/gm, '<p>$1</p>'); 转化为 <div>Message</div> <

我目前正在使用NodeJS制作一个简单的应用程序,将输入转换为定义的格式。为此,我使用了下面的JavaScript,其中
content
是输入

content = content.replace(/(.+)\n=+$/gm, '<div>$1</div>');
content = content.replace(/(.+)\n-+$/gm, '<p>$1</p>');
转化为

<div>Message</div>

<p>Another Message</p>
消息
另一条消息

但是,我得到了与输入相同的输出(因此没有任何变化)

我用WebStorm的RegEx测试仪和两者都试过了,两者都找到了匹配项。当我记录
content.match(/(.+)\n=+$/gm)的结果时,
我得到
null

当我从正则表达式和输入中删除
\n
时,它似乎是匹配的,这让我认为
\n
引起了某种问题。但是,我不知道这可能会导致任何问题。

您使用的是windows吗

试着:

content = content.replace(/(.+)\r\n=+$/gm, '<div>$1</div>');
content = content.replace(/(.+)\r\n-+$/gm, '<p>$1</p>');

对我来说效果很好:^同样,您的javaScript代码没有问题。您可以使用“/(.+)\r?\n=+$/gm”来测试它,这使得“\r”是可选的。
content = content.replace(/(.+)\r\n=+$/gm, '<div>$1</div>');
content = content.replace(/(.+)\r\n-+$/gm, '<p>$1</p>');
content = content.replace(/(.+)\r?\n=+$/gm, '<div>$1</div>');
content = content.replace(/(.+)\r?\n-+$/gm, '<p>$1</p>');