Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
多个具有相同名称的组regex java?_Java_Regex_Named Captures - Fatal编程技术网

多个具有相同名称的组regex java?

多个具有相同名称的组regex java?,java,regex,named-captures,Java,Regex,Named Captures,是否有任何用于java的正则表达式api或库可以在一种模式中接受具有相同名称的多个组?这是一个非常古老的问题,但google把我带到了这里,我找到了一个使用/J修饰符的PHP解决方案。这里解释的所有细节: 在.NET、PCRE(C、PHP、R…)、Perl和Ruby中,可以使用相同的组 在模式中的不同位置命名。(在PCRE中,您需要使用 (?J)修饰符或PCRE_DUPNAMES选项。)在这些引擎中,此正则表达式 有效期为: :(?\d+)|(?\d+)# 这里的工作示例为什么?您将如何访问每

是否有任何用于java的正则表达式api或库可以在一种模式中接受具有相同名称的多个组?

这是一个非常古老的问题,但google把我带到了这里,我找到了一个使用
/J
修饰符的PHP解决方案。这里解释的所有细节:

在.NET、PCRE(C、PHP、R…)、Perl和Ruby中,可以使用相同的组 在模式中的不同位置命名。(在PCRE中,您需要使用 (?J)修饰符或PCRE_DUPNAMES选项。)在这些引擎中,此正则表达式 有效期为:

:(?\d+)|(?\d+)#

这里的工作示例

为什么?您将如何访问每个组?@doorknobfsnow OP可能正在尝试实现类似
context1(?regex)context2 | context3(?otherRegex)context4
?在这种情况下,匹配中只有一个组的名称
名称
。您能给出一个您试图匹配的内容的示例吗?>(ab(?[\w]*)bs(?)?[\w]*)像上面的例子一样,有时只会填写一个名称,有时可能会有多个相同的名称填写,因此regex引擎应该选择最好的一个或最后一个名称。
:(?<token>\d+)|(?<token>\d+)#