示例字符串:

std::string sentence = "Hello {Bobby}, hows {Johns}?."

我希望能够使用boost::regex捕获花括号内的所有内容,任何帮助或指导都将不胜感激。

该字符串可以包含{bobby | john | cindy}或{bobby || cindy}或{{bobby}},其中将是{bobby}。我正在尝试找出正则表达式。

谢谢。

最佳答案

总体方法和代码示例为described here

您需要的正则表达式似乎是:

([^{}]*\{([^{}]*)\})+

除非字符串使用正确配对的非嵌套花括号,否则此正则表达式将完全不匹配。如果匹配,则可以使用regex_iterator处理每个匹配项中的第二个子组。

关于c++ - 如何在C++中使用boost::regex捕获字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11319305/

10-13 08:10