加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:45:24 所属栏目:百科 来源:网络整理
导读:我使用 rubular.com来构建我的正则表达式,他们的文档描述如下: (...) Capture everything enclosed(a|b) a or b 如何使用OR表达式而不捕获它的内容? 所以如果我想匹配“a或b后面跟一个c”,并且只捕获c,我不能使用 (a|b)(c) 对?然后,我捕获“a或b”以
我使用 rubular.com来构建我的正则表达式,他们的文档描述如下:
(...)   Capture everything enclosed
(a|b)   a or b

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

(a|b)(c)

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读