【发布时间】:2012-03-03 19:53:57
【问题描述】:
我有一个简单的 Java 应用程序,它是命令行应用程序的 GUI,并且我有一个字段,用户可以在其中添加其他命令行参数。问题是,我想将所有参数传递给 CLI 应用程序使用的“选项文件”,但为此我需要相应地拆分每个参数。
一个例子:
--edit info --set title=My Title 1 --edit track:v1 --set flag-default=0 --set flag-forced=0
必须成为
--edit
info
--set
title=My Title 1
--edit
track:v1
--set
flag-default=1
--set
flag-forced=0
我基本上需要一个匹配这个的正则表达式: --set[MATCH]title=我的标题1[MATCH]--edit[MATCH]track:v1
我不知道这是否简单,我尝试了几个 RegEx 参数,但都超出了我的想象。
顺便说一句,CLI 应用程序是 mkvpropedit。
【问题讨论】:
-
--set title=test 1 --edit track:v1: 标题怎么定界? -
必须是正则表达式吗?我会尝试 Commons CI commons.apache.org/cli
-
@jpalecek:选项文件的标题不需要引号,它实际上会将引号视为文字引号。
-
JCommander 可以像上面一样优雅地进行命令行解析
-
我会调查的。我还找到了一个可以实现的简单解决方案。 link
标签: java regex command-line-arguments