java - 用于分割命令行参数的正则表达式

标签 java regex command-line-arguments

我有一个简单的 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/

相关文章:

java - 这个方法jboolean(JNICALL *ExceptionCheck)(JNIEnv *env)在哪里定义的?

regex - 使用正则表达式拆分字符串并将其存储到数据框中

node.js - 将文件通过管道传输到 uglifyjs - 从 Powershell

regex - 如何创建仅在主题行开头搜索文本的 Gmail 过滤器?

bash - 使用撇号或引号从终端传递命令行参数

python - 如果提供了可选参数,则需要命令行参数

java - 从java停止adb screenrecord

java - 甲骨文 MAF : Reflect value into inputText based on multiple selectOneChoice selection

java - 将 ObjectId 字段正确映射到 String

Python:从 URL 列表中提取网页文本上的字符串