gpt4 book ai didi

java - 在带有量词的 Java 正则表达式中,如何获得匹配的组?

转载 作者:行者123 更新时间:2023-11-29 08:19:31 24 4
gpt4 key购买 nike

我正在使用包含量词的 Java 正则表达式 (1.6) 处理文本,我希望返回匹配组的数量和值。一个简单的例子是:

A BC DEF 1 23 456 7 XY Z

匹配的是:

([A-Z]+){0,9} (\d+){0,9} ([A-Z]+){0,9}

如何找到每次捕获的数量(此处为 3 4 2)和值(“A”、“BC”、“DEF”、“1”、“23”、“456”、“7”、 “XY”、“Z”)。正则表达式是在程序外部创建的,但如果可能的话,我可以设计它们来解决这个问题。

最佳答案

当多次匹配一个组时,不可能获得所有捕获。您可以像这样重新设计您的正则表达式:

((?:[A-Z]+ ?){0,9}) ((?:\d+ ){0,9}) ((?:[A-Z]+ ?){0,9})

这将为您提供捕获“A BC DEF”、“1 23 456 7”和“XY Z”,然后您可以按空格拆分。

关于java - 在带有量词的 Java 正则表达式中,如何获得匹配的组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1318750/

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