如何在没有分组的情况下识别正则表达式中的两个不同的单词

Vin*_*nzz 3 regex

我有一个正则表达式的问题,我必须在文本中识别令牌,如:

Foo-然后是其中一个barbaz后面的-一些数字,如:

Foo-bar-010
Foo-baz-101
Run Code Online (Sandbox Code Playgroud)

然后我想把我的比赛分成:Foo-bar -010Foo-baz -101

我的正则表达式是这样的:

(Foo-(bar|baz))-[0-9]+
Run Code Online (Sandbox Code Playgroud)

这有点酷,但我不想为'bar'或'baz'子句定义一个组,因为它会影响我的结果.

有没有想过只用一个组得到这个结果?

eri*_*len 8

(Foo-\b(?:bar|baz)\b)-[0-9]+
Run Code Online (Sandbox Code Playgroud)

?:通常将组标记为非捕获匹配(取决于您的引擎).