是否有任何 Java 正则表达式 api 或库可以在一种模式中接受多个具有相同名称的组?
问问题
3259 次
2 回答
4
这是一个非常古老的问题,但谷歌把我带到了这里,我找到了使用修饰符的PHP解决方案。/J
所有细节在这里解释:http ://www.rexegg.com/regex-capture.html#dupe_names
在 .NET、PCRE(C、PHP、R...)、Perl 和 Ruby 中,您可以在模式的不同位置使用相同的组名。(在 PCRE 中,您需要使用 (?J) 修饰符或 PCRE_DUPNAMES 选项。)在这些引擎中,此正则表达式将是有效的:
:(?<token>\d+)|(?<token>\d+)#
于 2017-10-28T14:14:40.820 回答
2
(ab(?<a>[\w]*)|bs(?<a>[\w]*))
正则表达式的替代品(ab|bs)(?<a>[\w]*)
具有相同的名称。(ab(?<a>[\w]*)|bs(?<b>[\w]*))
在演示链接中使用和检查测试(ab|bs)(?<a>[\w]*)
。这些给你同样的结果。
于 2015-06-30T18:52:54.950 回答