Javascript 正则表达式提取模拟字符组中的正定值
Javascript。我需要在“inset”组中提取第二个正值数值: 例如字符串: “长方体阴影:插图3px4px0px#444,插图-1px-2px0px#444,5px 6px 0px#444,插图1px 1px 0px#444“ 所以我需要从示例字符串中提取4和1 不知道如何执行此操作。您可以使用以下方法:Javascript 正则表达式提取模拟字符组中的正定值,javascript,regex,Javascript,Regex,Javascript。我需要在“inset”组中提取第二个正值数值: 例如字符串: “长方体阴影:插图3px4px0px#444,插图-1px-2px0px#444,5px 6px 0px#444,插图1px 1px 0px#444“ 所以我需要从示例字符串中提取4和1 不知道如何执行此操作。您可以使用以下方法: /inset\s+-?\d+px\s+\+?(\d+)px/g inset(?:(?: -\d+px)? (\d+)px){2} 结果显示在第一个捕获组中。您可以使用: inset
/inset\s+-?\d+px\s+\+?(\d+)px/g
inset(?:(?: -\d+px)? (\d+)px){2}
结果显示在第一个捕获组中。您可以使用:
inset(?:(?: -\d+px)? (\d+)px){2}
结果显示在第一个捕获组中。您可以使用:
inset(?:(?: -\d+px)? (\d+)px){2}
结果显示在第一个捕获组中。您可以使用:
inset(?:(?: -\d+px)? (\d+)px){2}
结果在第一个捕获组中。这个正则表达式应该完成以下任务:
/inset-?\d+px(\d+)px/g
但是,由于需要使用全局修改器来捕获所有出现的情况,因此应在while
中使用exec
方法,而不是使用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"]
这个正则表达式应该做到这一点:
/inset-?\d+px(\d+px/g
但是,由于需要使用全局修改器来捕获所有出现的情况,因此应在while
中使用exec
方法,而不是使用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"]
这个正则表达式应该做到这一点:
/inset-?\d+px(\d+px/g
但是,由于需要使用全局修改器来捕获所有出现的情况,因此应在while
中使用exec
方法,而不是使用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"]
这个正则表达式应该做到这一点:
/inset-?\d+px(\d+px/g
但是,由于需要使用全局修改器来捕获所有出现的情况,因此应在while
中使用exec
方法,而不是使用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"]
是的,像这样的。匹配(/(?!inset)(\d+(![px])/g)我在正则表达式中是个笨蛋,对不起。不用担心;每个人在读正则表达式的时候都是愚蠢的。是的,像这样的东西。匹配(/(?!inset)(\d+(![px])/g)我在正则表达式中是愚蠢的,对不起。不用担心;每个人在读正则表达式的时候都是愚蠢的。是的,像这样的东西。匹配(/(?!inset)(\d+(![px])/g)我在正则表达式中是愚蠢的,对不起。不用担心;每个人在读正则表达式的时候都是愚蠢的。是的,像这样的东西。匹配(/(?!inset)(\d+(![px])/g)我在正则表达式中是愚蠢的,对不起。不用担心;每个人读正则表达式都是愚蠢的。