JS Regex .replace,我错过了什么?

时间:2014-08-22 02:04:14

标签: javascript regex

我试图在javascript中执行简单的正则表达式替换以用html中断替换新行\ n

var strings = 'Hello world
This is a test.
Multi-line.';

stringt = strings.replace( '/(\r\n|\n|\r)/gm', '<br />' );
alert(stringt);

在几个在线测试人员上测试RegEx模式已经证明是成功的,我想我只是错过了一些真正愚蠢的东西?

1 个答案:

答案 0 :(得分:4)

您无法定义类似的字符串。

你可以使用这样的多行字符串

var str = "Hello world\n\
This is a test.\n\
Multi-line.";

然后这个正则表达式适合你

str.replace(/[\r\n]+/g, "<br>");

请注意,JavaScript中的regexp并未包含在引号"中,就像它们在PHP等语言中一样。


Per @ alex的评论,您可以像这样创建正则表达式

 var re = new RegExp('[\r\n]+', 'g');
 str.replace(re, "<br>");

在这种情况下,您使用字符串,但没有/分隔符。