【发布时间】:2011-03-14 22:49:12
【问题描述】:
我知道.match() 返回匹配的数组,如果没有找到,则返回 null。但是我该如何访问与 .match 一起使用的捕获组的值呢?
例如:
var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)');
假设正则表达式匹配不止一次,我如何访问特定匹配中捕获组的值?
谢谢!!
【问题讨论】:
标签: javascript regex match
我知道.match() 返回匹配的数组,如果没有找到,则返回 null。但是我该如何访问与 .match 一起使用的捕获组的值呢?
例如:
var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)');
假设正则表达式匹配不止一次,我如何访问特定匹配中捕获组的值?
谢谢!!
【问题讨论】:
标签: javascript regex match
使用数组表示法:[0]、[1] 等
var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)');
if(val != null) {
var first = val[0];
//...
}
【讨论】:
match的返回值非空,则为数组。