我想匹配-v
或--verbose
的任何组合,包括像-vd path
或-av
这样的东西,但不想匹配除短格式选项之外的任何东西与v
或--verbose
本身。到目前为止,我有以下内容:
--verbose|-[^-]v
字符串
下面是一些匹配的示例:
-v
-vv
-vd path -v
-vd path --version
--skip-dependencies -vd path --version
-vd path --verbose
-av
-vvv
--verbose
型
目前,唯一匹配的内容如下:
-vv
个-vvv
的第一个-vv
--verbose
-av
个
我还想匹配-v
、整个-vvv
和-vd
。
1条答案
按热度按时间2wnc66cl1#
您可以使用该模式的更具体版本:
字符串
说明
--verbose\b
匹配--verbose
,后跟字边界,以防止部分字匹配|
或(?<!\S)
负向后查找,在左侧Assert空白边界-
按字面匹配(?:a?v+|v+d)
匹配一个可选的a
字符后接1+次v
字符,或者匹配一个v
字符后接1+次d
字符\b
A字边界请参见regex demo。