Java 使用Commons CLI重复选项组?

Java 使用Commons CLI重复选项组?,java,command-line-arguments,apache-commons-cli,Java,Command Line Arguments,Apache Commons Cli,我对解析命令行选项有一组特定的要求。我的意图与Linux beep命令不同,在该命令中,您可以指定不同频率和持续时间的多个beep。我只是碰巧在使用4位颜色 有效输入序列的示例: -z 1 -r 5 -g 2 -b 12 -z 4 --color=ffe --zone=3 --color=8,8,4 -z或--zone是启动新选项组的分隔符。可以使用-r/g/b设置或--color指定颜色。我希望自己能处理这个问题 无效输入的示例: 这正好说明了为什么我不能只使用一系列选项。我的程序需要能够识

我对解析命令行选项有一组特定的要求。我的意图与Linux beep命令不同,在该命令中,您可以指定不同频率和持续时间的多个beep。我只是碰巧在使用4位颜色

有效输入序列的示例:

-z 1 -r 5 -g 2 -b 12 -z 4 --color=ffe --zone=3 --color=8,8,4
-z或--zone是启动新选项组的分隔符。可以使用-r/g/b设置或--color指定颜色。我希望自己能处理这个问题

无效输入的示例:

这正好说明了为什么我不能只使用一系列选项。我的程序需要能够识别并提醒,在
--zone=1
和下一个区域之间,它没有找到a-b,在
-z3
和参数末尾之间,它找到了两个-b。使用
getOptionValues()
提供的数组,我只能看到-r/g/b各有两个,并且假设没有问题,因为它们没有绑定到任何类型的父级或组


我需要知道Commons CLI是否可以处理重复的选项组,或者是否需要切换到另一个解析器,或者是否最好为公认的少量选项编写自己的解析器。

您知道如何做到这一点吗?
--zone=1 -r 12 -g 15 -z 3 -r 8 -g 6 -b 10 -b 18