在正则表达式上拆分不在行的开头

时间:2015-05-20 19:02:01

标签: javascript regex

我希望在空格上分割一个字符串,但如果这些空格位于该行的开头,那么这就是我目前所拥有的:



alert(JSON.stringify(
  '  this   is   a  test'.split(/(?!^\s+)\s+/)
))




但只有在开头或字符串中只有一个空格时才有效。

我知道javascript不支持lookbehinds,无论如何没有像翻转字符串那样的黑客这样做吗?

2 个答案:

答案 0 :(得分:1)

在Javascript中这应该有效:

'   this   is   a  test'.split(/(^\s+\S+)|\s+/).filter(Boolean)
//=> ["   this", "is", "a", "test"]

即。将所有期望的文本分组在LHS的交替上,并在管道的RHS上保持分割模式。

答案 1 :(得分:0)

alert(JSON.stringify(
  '  this   is   a  test'.trim().split(/(?!^\s+)\s+/)
))