Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 JS正则表达式或仅选取第一个表达式_Javascript_Regex - Fatal编程技术网

Javascript JS正则表达式或仅选取第一个表达式

Javascript JS正则表达式或仅选取第一个表达式,javascript,regex,Javascript,Regex,我正在尝试从此字符串解析ID、标签文本和输入类型或“textarea”: var test = "<li class="ui-state-default ui-sortable-handle"><label for="test1_1447826909520">test 1:</label> <input type="text" id="test1_1447826909520"></li><li class="ui-state-de

我正在尝试从此字符串解析ID、标签文本和输入类型“textarea”:

var test = "<li class="ui-state-default ui-sortable-handle"><label for="test1_1447826909520">test 1:</label> <input type="text" id="test1_1447826909520"></li><li class="ui-state-default ui-sortable-handle"><label for="test2_1447826918566">test 2:</label> <textarea id="test2_1447826918566" style="vertical-align:top;"></textarea></li><li class="ui-state-default ui-sortable-handle"><label for="test3_1447826926580">test 3:</label> <input type="number" id="test3_1447826926580"></li><li class="ui-state-default ui-sortable-handle"><label for="test4_1447826935118">test 4:</label> <input type="url" id="test4_1447826935118"></li><li class="ui-state-default ui-sortable-handle"><label for="test5_1447826944391">test 5:</label> <input type="email" id="test5_1447826944391"></li><li class="ui-state-default ui-sortable-handle"><label for="test6_1447826954174">test 6:</label> <input type="tel" id="test6_1447826954174"></li>"
我是这样执行的:

while ((matches = re.exec(test)) !== null) {
     console.log(matches[1]+', '+matches[2]+', '+matches[3]);
}
结果如下:

test1_1447826909520, test 1, text
test2_1447826918566, test 2, undefined // <---------
test3_1447826926580, test 3, number
test4_1447826935118, test 4, url
test5_1447826944391, test 5, email
test6_1447826954174, test 6, tel
test1_1447826909520,测试1,文本
test2_1447826918566,test2,未定义/这里有两个捕获组:

 (?:pe="(.+?)"|(textarea))
group 3-^      ^-group 4

是的,谢谢!我以为手术室只会是第三组。再次感谢
 (?:pe="(.+?)"|(textarea))
group 3-^      ^-group 4