JS Regex积极的Lookbehind

时间:2017-09-26 14:54:00

标签: javascript regex

我想按空格分割字符串。但是如果不删除它,它应该被添加到前一个字符串而不是下一个字符串。

正如您在result中看到的那样,空间被添加到下一个单词中。

这是我的regex101

正则表达式:

/(?=\040)/g

结果:

“Lorem | ipsum | dolor | si | amet。”

我需要什么

“Lorem | ipsum | dolor | si | amet。”

2 个答案:

答案 0 :(得分:4)

试试这个正则表达式:

\b(?=\w)

OR

\b(?=[^\040.])

Click for Demo

<强>解释

  • \b - Word Boundary
  • (?=\w) - 确保单词字符跟随\b
  • 的正面预测

OR

  • (?=[^\040.]) - 确保\b后跟除.
  • 之外的任何字符的积极前瞻

答案 1 :(得分:1)

你可以使用分割和地图

&#13;
&#13;
var split = 'Lorem ipsum dolor si amet.'.split(' ');
var result = split.map(function(value) {

  return value + (split.indexOf(value) < split.length - 1 ? ' ' : '');

});

console.log(result);
&#13;
&#13;
&#13;