JavaScript正则表达式分为单词或冒号

时间:2017-01-02 14:04:33

标签: javascript regex split

我正在尝试使用JavaScript正则表达式来分割单词as或冒号。以下是以下测试用例:

// Should all return ['test', 'test1']
test as test1
test: test1
test : test1
test :test1
test:test1

它也应该工作并保留空格和换行符。以下是我到目前为止使用as

的内容
sentence.split(/\bas\b/);

我尝试使用它:

//yields: ['test', undefined, 'test1']
sentence.split(/(\bas\b)|\:/);

可以某种方式帮助实现as:

提前致谢。

1 个答案:

答案 0 :(得分:4)

您可以使用

s.split(/\s*(?:\bas\b|:)\s*/)

请参阅regex demo

<强>详情:

  • \s* - 0+ whitespaces
  • (?:\bas\b|:) - 整个字as:
  • \s* - 0+空格。

测试/例子:

var ss = ['test as test1', 'test: test1', 'test : test1', 'test :test1', 'test:test1'];
for (var s of ss) {
  console.log(s.split(/\s*(?:\bas\b|:)\s*/));
}