我正在寻找一个解决方案,可以在每个第二个句点之后将长JSON字符串与换行符分开。
这个正则表达式出了什么问题?
var text = 'Lorem ipsum dolor. Consetetur sadipscing elitr. Sed diam nonumy eirmod tempor invidunt';
text.replace(/(\.(\s+))/g, '\$1 <br><br>');
// Expected behaviour
// Lorem ipsum dolor. Consetetur sadipscing elitr. <br><br>Sed diam nonumy eirmod tempor invidunt
// Current behaviour
// Lorem ipsum dolor. <br><br>Consetetur sadipscing elitr. <br><br>Sed diam nonumy eirmod tempor invidunt
答案 0 :(得分:2)
以下内容应该有效:
text.replace(/(\.[^.]*\.)/g, '$1 <br><br>');
[^.]*
将匹配任何非句号的字符数,因此此正则表达式将恰好与两个句点匹配,并且它们之间包含任何内容。
答案 1 :(得分:0)
替代方案:
text.replace(/(.*?\.){2}/g, '$& <br><br>')
这将期望两个带有句点的文本块,然后将其替换为匹配后跟换行符。
如果您想让休息时间更加稀疏,您可以轻松使用该号码。