我有一个简单的 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
我不知道这是否简单,我尝试了几个正则表达式参数,但这超出了我的能力范围。
顺便说一下,CLI 应用程序是 mkvpropedit。
最佳答案
我不明白为什么你需要一个正则表达式......
如果您不受某些我不理解的要求的限制,我真的认为解析 GNU style您需要使用 GNU 实用程序 getopt
的命令行选项,其 Java version特别是。
如果您使用 Maven,请使用它 boils down将其添加到您的 pom 中:
<dependency>
<groupId>gnu.getopt</groupId>
<artifactId>java-getopt</artifactId>
<version>1.0.13</version>
</dependency>
关于java - 用于分割命令行参数的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9243143/