我在用着rubular.com https://rubular.com构建我的正则表达式,他们的文档描述了以下内容:
(...) Capture everything enclosed
(a|b) a or b
如何使用 OR 表达式而不捕获其中的内容?例如,假设我想捕获“ac”或“bc”。我无法使用正则表达式
(a|b)(c)
正确的?从那时起,我在一组中捕获“a”或“b”,在另一组中捕获“c”,不一样。我知道我可以过滤捕获的结果,但这似乎需要更多工作......
我错过了一些明显的东西吗?如果相关的话,我正在 Java 中使用它。
根据正则表达式的实现,您可以使用所谓的非捕获组与语法(?:…)
:
((?:a|b)c)
Here (?:a|b)
是一个组,但您无法引用其匹配项。所以你只能参考((?:a|b)c)
那就是ac
or bc
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)