的Javascript。我需要在“插入”组中提取第二个正数字值:
例如字符串:
“box-shadow:inset 3px 4px 0px#444,inset -1px -2px 0px#444,5px 6px 0px#444,插入1px 1px 0px#444“
所以我需要从示例字符串中提取 4和1 。
不知道怎么做。
答案 0 :(得分:1)
/inset\s+-?\d+px\s+\+?(\d+)px/g
答案 1 :(得分:1)
您可以使用:
inset(?:(?: -\d+px)? (\d+)px){2}
结果出现在第一个捕获组中。
答案 2 :(得分:1)
这个正则表达式可以解决这个问题:/inset -?\d+px (\d+)px/g
但是,由于您需要使用全局修饰符来捕获所有匹配项,因此您应该使用exec
中的while
方法,而不是使用match
,否则您将获胜获得被捕获的团体。
var match, regex = /inset -?\d+px (\d+)px/g,
str = "box-shadow: inset 3px 4px 0px #444, inset -1px -2px 0px #444,5px 6px 0px #444, inset 1px 1px 0px #444";
while (match = regex.exec(str)) {
console.log(match[1])
}
如果要加入数组中的匹配项,可以使用:
var matches = [];
while (match = regex.exec(str)) {
matches.push(match[1]);
}
console.log(matches); // ["4", "1"]