早上好,
如果我有一个字符串:
"@Hello(first second), one two"
我想要一个数组:
["@Hello(first second)", "one", "two"]
我怎么能这样做?
谢谢,
答案 0 :(得分:0)
您可以.split()
与RegExp
/\s(?!\w+\))/
匹配空格字符,后跟字符后跟右括号“)”
var str = "@Hello(first second), one two";
var res = str.split(/\s(?!\w+\))/);
console.log(res);
或者,您可以使用.match()
与RegExp
/@\w+\(\w+\s\w+(?=\))\)|\w+(?=\s|$)/g
匹配“@”后跟一个或多个单词字符,后跟“(”后跟单词字符,后跟空格字符,后跟单词字符后跟关闭parenthsis“)”或单词字符后跟空格或字符串结尾
var str = "@Hello(first second), one two";
var res = str.match(/@\w+\(\w+\s\w+(?=\))\)|\w+(?=\s|$)/g);
console.log(res);