Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式提取模拟字符组中的正定值_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式提取模拟字符组中的正定值

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

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(?:(?: -\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)我在正则表达式中是愚蠢的,对不起。不用担心;每个人读正则表达式都是愚蠢的。