PCRE2 命名组捕获阵列

问题描述 投票:0回答:1

我的 PCRE2 正则表达式引擎有问题。当一个命名组在文本中出现多次时,它仅捕获该组的最后一次出现。

示例: 正则表达式模式

\w+\s(?<subgroup>(\d))*

文字

hello 23

这将正确匹配,但只有数字 3 将被捕获为子组(子组 = 3) 来自 regex101.com 的截图

使用 .NET 正则表达式引擎时,会捕获两个匹配的子组(subgroup.1 = 2,subgroup.2 = 3) .NET 正则表达式引擎捕获结果

但是,我的项目需要使用 PCRE2 引擎。 有谁知道 PCRE2 是否允许捕获命名组的“数组” - 我自己在 Perl 文档中找不到信息。

非常感谢任何建议!

regex perl pcre2
1个回答
0
投票

对您已有的进行最小程度的改变:

\w+\s(?<subgroup>\d*)

https://regex101.com/r/xjbmqR/1

© www.soinside.com 2019 - 2024. All rights reserved.