我正在尝试使用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
和:
?
提前致谢。
答案 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*/));
}