我是正则表达式的初学者,我得到了这个分配来过滤参数-
和--
与多个alnum结合=
或没有它。因此积极的捕获是--input=
或-help
这是我的自定义正则表达式
^--((\w|-)*)(=([^\s]+))?$
整个问题是它无法捕获=
或-
。对于例如-input
或--input=
未被抓住,我不明白为什么。
答案 0 :(得分:1)
使用?
作为可选的第二个连字符。模式将成为:
^--?([\w-]+)(?:=(\S*))?$
PS:[^\s]
与\S
相同。
将+
更改为*
允许空参数值。当您使用+
时,模式期望=
字符后跟一些值。