我正在尝试匹配单个括号内的字符链。

在以下示例中,仅前两行应返回ab,其他应不匹配任何内容

ab(ab)ac => ab
(ab)ndn => ab
ab(ab(ac)an) => void
ab((ab)ab)ab => void
ab(ab(abb))ab => void
ab(ab(ab(ab))ab) => void


据我所知,这是我不知道为什么第三行仍然匹配的原因。 https://regex101.com/r/weGhVz/2

最佳答案

您可以使用正则表达式负向超前功能来确保第一次关闭后没有括号。

\((\w*)\)(?!\w*\))


这将产生所需的输出。第一组给出括号内的序列

关于c++ - 如何仅在括号之间匹配嵌套组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54442259/

10-13 05:54