如何转换
"one,cubic-bezier(0, 0, 1, 1), cubic-bezier(0, 0, 1, 1), linear"至
["one", "cubic-bezier(0, 0, 1, 1)", "cubic-bezier(0, 0, 1, 1)", "linear"]多么?
JavaScript。
这可不一样。因为引号(左和右),这里(-左,)-右。
不要在JS工作。
'ease,cubic-bezier(0, 0, 1, 1), linear,2,3'.split(/,(?=[^()]*((|$))/gi); 结果:
ease,(,cubic-bezier(0, 0, 1, 1),, linear,,2,,3发布于 2014-04-25 13:16:40
假设父类不能嵌套(在这种情况下,您将无法使用JS regex风味)。
试试这个:
,(?![^()]*\))迅速崩溃:
, # match a comma [1]
(?! # start negative look ahead [2]
[^()]* # match zero or more non-parens chars [3]
\) # match the closing paren [4]
) # stop look ahead在通俗易懂的英语中,内容如下:
匹配一个逗号1,只有当前面2没有关闭的P轮4,而逗号和结束的paren 3之间没有任何paren时,才能匹配。
发布于 2014-04-25 13:48:48
根据您的例子:
var str = "one,cubic-bezier(0, 0, 1, 1), cubic-bezier(0, 0, 1, 1), linear";
var arr = str.split(/,\s*(?!\s*\d)/);
console.log(arr.toSource());
// result
// ["one", "cubic-bezier(0, 0, 1, 1)", "cubic-bezier(0, 0, 1, 1)", "linear"]这是小提琴
https://stackoverflow.com/questions/23293596
复制相似问题