我正在尝试编写匹配角度1.5类的每个依赖项的正则表达式。这是我到目前为止所得到的:
MyController.$inject = ['service1', 'service2', 'service3'];
MyController
.$inject = [
'service1',
'service2',
'service3',
];
这是几条测试线:
match = ['service1', 'service2', 'service3'];
这应该是结果:
service3
但我上面的正则表达式只会获取最后一项:$(document).ready(function() {
var cnt = 2;
$("#anc_add3").click(function() {
$('#tbl4 tr').last().after('<tr><td><h3>PM [' + cnt + ']</h3></td><td><textarea>
cnt++;
});
var d = 2;
$("#anc_addsupp").click(function() {
$('#tbl4 tr:last-child').last().after('<tr><td><h3>Supplier [' + d + ']</h3></td><td>
d++;
});
,我不知道为什么。有人可以帮忙吗?
更新
在这里工作:http://regexr.com/3e6c2
答案 0 :(得分:1)
原因是当您量化捕获组时,仅捕获最后一个捕获组。您允许使用*
0次无限制地重复捕获组。您必须单独捕获它才能使其正常工作。
举例说明see this example at regex101。在这里,我重复了捕获组三次,而不是使用量词,因此所有三组都被捕获。
我还制作了一些非捕获((?:...
)组来避免组中的 noise 。
如果组的数量有限,则可以使用。如果组的数量未知/大,则必须以编程方式解决。