我绝对不熟悉正则表达式,所以最好先问然后做一些非常愚蠢的事情。我有一个要从命令行执行的 java 应用程序,它有一个非常好的签名。
java applicationName -mode=create -some.nice.arg=XXX.XXX.XXX.XXX:XXXX -another.nice.arg=value2 -third.nice.arg=value3 -again.nice.arg=value4 ... -nth.nice.arg=value_n+1
这将是所需的格式。至少足够接近。我正在尝试创建一个与此匹配的正则表达式,并会选择如下参数字段:
- 模式=创建
- some.nice.arg=XXX.XXX.XXX.XXX:XXXX
- another.nice.arg=value2
- 第三个.nice.arg=value3
- 再次.nice.arg=value4
- ...
- nth.nice.arg=值_n+1
例如,我为 IP 地址创建一个正则表达式没有问题,但我无法创建一个匹配整个内容的正则表达式。到目前为止,我最好的选择是:
\w+[ ]{1}\w+[ ]{1}[-]{1}(\w+[=]{1}\w+){+}
很多问题。例如 \w+ 不会匹配 '.' 字符,但它们肯定会在那里。或者另一个例子:模式可以有以下选项之一:
- 创造
- 更新
- 清除
即使是第一个问题,我也有点害怕,更不用说第二个了。
感谢您的每一个帮助!- 乔伊