我可以在正则表达式中使用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) 对?然后,我捕获“a或b”以及“c”。我知道我可以过滤捕获的结果,但这似乎更多的工作… 我缺少明显的东西吗?我在Java使用这个,如果这是相关的。
根据正则表达式实现,您可以使用语法(?:…)的所谓非捕获组:
((?:a|b)c) 这里(?:a | b)是一个组,但是你不能引用它的匹配。所以你只能参考((?:a | b)c)的匹配,即ac或bc。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |