javascript - 正则表达式(Regex) on CSS3 Transform String

标签 javascript regex css replace webkit-transform

<分区>

给定一个字符串 "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/

相关文章:

javascript - 在 jQuery 中创建一个可拖动的处理程序栏,它会更新值

regex - htaccess 仅重定向根域

regex - NSRegularExpression 返回无效范围

javascript - 正则表达式匹配是否比检查对象集合中的键更有效?

css - 覆盖切出的矩形蒙版

html - 如何构建动态 css 主/子菜单(或者我需要 jquery)?

javascript 按钮 onclick 只按下一次

javascript - 如何进行部分页面重新加载?

javascript - 始终保留两位小数的 React Native 数字输入掩码

jquery - 为什么这个 Jquery 内容 slider 在 Chrome 和 Safari 中有效,但在 Firefox 中无效?