Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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/18.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';s.匹配法_Javascript_Regex_Match - Fatal编程技术网

需要帮助理解Javascript';s.匹配法

需要帮助理解Javascript';s.匹配法,javascript,regex,match,Javascript,Regex,Match,我知道.match()返回一个匹配数组,若并没有找到,则返回null。但是如何访问与.match一起使用的捕获组的值呢 例如: var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)'); 假设正则表达式多次匹配,如何访问特定匹配中捕获组的值 谢谢 使用数组表示法:[0],[1]等 var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)'); if(v

我知道
.match()
返回一个匹配数组,若并没有找到,则返回null。但是如何访问与.match一起使用的捕获组的值呢

例如:

var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)');
假设正则表达式多次匹配,如何访问特定匹配中捕获组的值


谢谢

使用数组表示法:
[0]
[1]

var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)');
if(val != null) {
    var first = val[0];
    //...
}

对,但是如果正则表达式匹配多个项,那么val本身已经是一个数组了,对吗?那么val[0]将只返回第一个匹配项。正确。如果
match
返回的值不为空,那么它就是一个数组。刚才你们的对话澄清了我的疑惑。谢谢