我试图匹配字符串中的一些单词,但没有成功.
比方说,我有这个字符串:
"word , word , two words, word"
Run Code Online (Sandbox Code Playgroud)
我想要做的是匹配单词,但没有开始或结束的空间.但它应该接受单词之间的空格.匹配产生的数组应该是:
["word","word","two words","word"]
Run Code Online (Sandbox Code Playgroud)
有人可以帮助或给我一些见解,我将如何做到这一点?
谢谢
编辑:我尝试过并取得成功的是分两部分:
match(/[^(,)]+/g)
Run Code Online (Sandbox Code Playgroud)
并使用map从结果数组中删除所有空格:
map(value => value.trim());
Run Code Online (Sandbox Code Playgroud)
但是只想通过正则表达式来做它并且不知道如何去做.
\w[\w ]*?(?:(?=\s*,)|$)
Run Code Online (Sandbox Code Playgroud)
说明:
\w[\w ]*?
Run Code Online (Sandbox Code Playgroud)
匹配中间有0个或更多空格的单词字符,但从不在开头.(懒)
(?:(?=\s*,)|$)
Run Code Online (Sandbox Code Playgroud)
这种非捕获组期待未来的空间之后,,或字符串的结尾.