Ite*_*tor 4 javascript regex split regular-language
我想把一个句子分解成词。如果它只包含空格,则.split(/\s+/)有效。
但是如何也可以用逗号分割,并将逗号保留在结果数组中?
我试过这样的事情,但它不起作用:
.split(/(?=,)|(?!=,)|\s/)
Run Code Online (Sandbox Code Playgroud)
示例输入:
"this,is, a test"
Run Code Online (Sandbox Code Playgroud)
预期输出:
["this", ",", "is", ",", "a", "test"]
Run Code Online (Sandbox Code Playgroud)
我怎么了?甚至可以只使用正则表达式吗?
您可以使用
console.log(
"this,is, a test".match(/[^\s,]+|,/g)
)Run Code Online (Sandbox Code Playgroud)
请参阅正则表达式演示。
String#match带有以g修饰符为特色的正则表达式的方法提取所有非重叠出现的
[^\s,]+- 除空格 ( \s) 和逗号之外的任何一个或多个字符| - 或者, - 逗号。