Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 字符串替换某些匹配组,而不是整个匹配_Javascript_Regex_String_Replace - Fatal编程技术网

Javascript 字符串替换某些匹配组,而不是整个匹配

Javascript 字符串替换某些匹配组,而不是整个匹配,javascript,regex,string,replace,Javascript,Regex,String,Replace,在js中,我想用一些文本替换字符串中的换行符,但仅当\n前面有点和可选的空格时。示例文本: 第一句话来了 分成两行 这将是一个新的句子 最后呢 应该成为 "First sentence comes split in two lines.<br>This would be a new sentence.<br>And the end" “第一句话分成两行。这将是一个新句子。和结尾” 使用regexp: text = text.replace(/\.\s(*\n)/g,

在js中,我想用一些文本替换字符串中的换行符,但仅当\n前面有点和可选的空格时。示例文本:

第一句话来了
分成两行

这将是一个新的句子

最后呢

应该成为

"First sentence comes split in two lines.<br>This would be a new sentence.<br>And the end"
“第一句话分成两行。
这将是一个新句子。
和结尾”
使用regexp:

text = text.replace(/\.\s(*\n)/g, "<br>");
text=text.replace(/\.\s(*\n)/g,“
”;
替换整个匹配,从而吃掉点,据我所知,RegEx.repace不提供仅替换匹配组的方法


最简单的方法是什么?

您可以在一个组中捕获一个文字点,然后是一个新行,后跟0+空格字符

在替换使用组1中,后跟一个中断:
$1

\s*(\.)?\n\s*

const regex=/\s*(\)?\n\s*/gm;
const str=`第一句话来了
分成两行。
这将是一个新的句子。
最后`;
const subst=`$1
`; const result=str.replace(regex,subst); 控制台日志(结果)