我可以在正则表达式中使用OR,但不捕获包含的内容?

前端之家收集整理的这篇文章主要介绍了我可以在正则表达式中使用OR,但不捕获包含的内容?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 rubular.com来构建我的正则表达式,他们的文档描述如下: @H_301_1@(...) Capture everything enclosed (a|b) a or b

如何使用OR表达式而不捕获它的内容
所以如果我想匹配“a或b后面跟一个c”,并且只捕获c,我不能使用

@H_301_1@(a|b)(c)

对?然后,我捕获“a或b”以及“c”。我知道我可以过滤捕获的结果,但这似乎更多的工作…

我缺少明显的东西吗?我在Java使用这个,如果这是相关的。

根据正则表达式实现,您可以使用语法(?:…)的所谓非捕获组: @H_301_1@((?:a|b)c)

这里(?:a | b)是一个组,但是你不能引用它的匹配。所以你只能参考((?:a | b)c)的匹配,即ac或bc。

原文链接:https://www.f2er.com/regex/358046.html

猜你在找的正则表达式相关文章