使用 Boost 的 C++ 中的正则表达式

Regular Expressions in C++ using Boost

本文关键字:正则表达式 C++ 使用 Boost      更新时间:2023-10-16

到目前为止。我有这个测试字符串:

Hello {John|Paul|Cindy}, hows {david}?

我的表达是:

({w+})

但是,它只返回大卫。我希望能够抓住约翰、保罗和辛迪。只有 0 或 2 个垂直条。有什么想法吗?

谢谢

如果不是某种竞争,我会简单地使用两个正则表达式:

{[w|]+}抓住每对大括号及其内容,然后在每个结果上w+提取单词。

仅使用一个正则表达式不能更简单。

如果只有 0 或 2 个垂直条:

({w+}|{w+|w+|w+})

对于 0 或更多:

({w+(|w+)*})