用换行符替换每个第N个空格

时间:2016-04-08 14:14:45

标签: javascript regex

我试图用换行符替换每个第3个空格。以下是我到目前为止的情况:

text.replace(/(\s{3})/g, "$1<br />")

然而,没有任何东西被取代。

1 个答案:

答案 0 :(得分:2)

您可以使用以下正则表达式

((?:.*?\s){2}.*?)\s

OR

((?:\S*\s){2}.*?)\s

RegEx说明:

  1. (?:.*?\s){2}:匹配任何字符,直到第一个空格两次
  2. .*?:懒洋洋地匹配任何内容
  3. \S*:匹配任意数量的非空格字符
  4. \s:匹配单个空格字符
  5. <强>代码:

    text = text.replace(/((?:.*?\s){2}.*?)\s/g, '$1<br />');
    

    var text = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.';
    
    document.body.innerHTML = text.replace(/((?:.*?\s){2}.*?)\s/g, '$1<br />');