<分区>
给定一个字符串 "translateX(-50%) scale(1.2)"
和 N 个转换函数
1) 如何匹配名称 ["translateX", "scale"]
?
2) 如何匹配值 ["-50%", "1.2"]
?
<分区>
给定一个字符串 "translateX(-50%) scale(1.2)"
和 N 个转换函数
1) 如何匹配名称 ["translateX", "scale"]
?
2) 如何匹配值 ["-50%", "1.2"]
?
最佳答案
如果您绝对必须使用正则表达式来执行此操作,则可以使用 exec()
循环中的方法,将捕获的组的匹配结果推送到所需的选择数组。
var str = 'translateX(-50%) scale(1.2)'
var re = /(\w+)\(([^)]*)\)/g,
names = [], vals = [];
while (m = re.exec(str)) {
names.push(m[1]), vals.push(m[2]);
}
console.log(names) //=> [ 'translateX', 'scale' ]
console.log(vals) //=> [ '-50%', '1.2' ]
正则表达式使用两个捕获组,第一个仅匹配/捕获单词字符,第二个使用否定匹配除 ) 之外的任何字符
“零次或多次”。
关于javascript - 正则表达式(Regex) on CSS3 Transform String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29571580/