我正在尝试构建一个文本格式化程序,它会根据换行符将p和br标记添加到文本中。我目前有这个:
s.replace(/\n\n/g, "\n</p><p>\n");
这对于创建段落结尾和开头非常有效。但是,试图找到实例的效果并不好。尝试进行匹配的组替换不起作用,因为它忽略括号并替换整个正则表达式匹配:
s.replace(/\w(\n)\w/g, "<br />\n");
我尝试删除g选项(仍然替换了整个匹配,但仅限于第一场比赛)。还有另一种方法吗?
谢谢!
答案 0 :(得分:20)
您可以捕获您不想替换的部分,并将其包含在替换字符串中,其中包含$
,后跟组号:
s.replace(/(\w)\n(\w)/g, "$1<br />\n$2");
有关在替换字符串中引用输入字符串部分的更多信息,请参阅MDN文档中的
答案 1 :(得分:2)
也抓住周围的人物:
s.replace(/(\w)(\n\w)/g, "$1<br />$2");