gpt4 book ai didi

javascript - Angular RegEx 匹配注入(inject)

转载 作者:行者123 更新时间:2023-11-27 22:33:06 25 4
gpt4 key购买 nike

我正在尝试编写一个与 Angular 1.5 类的每个依赖项相匹配的正则表达式。这是我到目前为止得到的:

\$inject = \[('([\w]+)'([,]?[\s]?))*

这是几行测试线:

MyController.$inject = ['service1', 'service2', 'service3'];

MyController
.$inject = [
'service1',
'service2',
'service3',
];

这应该是结果:

match = ['service1', 'service2', 'service3'];

但是我上面的正则表达式只会获取最后一项:service3,我不知道为什么。有人可以帮忙吗?

更新

在这里工作:http://regexr.com/3e6c2

最佳答案

原因是当您量化捕获组时,仅捕获最后一个。您允许使用 * 捕获组的 0 次无限重复。您必须单独捕获它们才能正常工作。

举个例子,see this example at regex101 。在这里,我重复了捕获组三次,而不是使用量词,因此所有三个组都被捕获。

我还设置了一些组非捕获 ((?:...)以避免组中的噪音 .

如果组的数量有限,则此方法有效。如果组的数量未知/太大,您必须以编程方式解决它。

关于javascript - Angular RegEx 匹配注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39385001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com