0

我有一个字符串,我想返回所有以sub string"SolutionAN ANANANA SolutionBNabcabcSolutionX"开头和结尾的字符串。SolutionSolution

使用boost::regex时我无法为其制作正则表达式。

我想得到SolutionAN ANANANA, SolutionBNababcSolutionX作为输出。我是 boost 中的正则表达式的新手,任何帮助将不胜感激。

4

1 回答 1

1

你可以使用这个正则表达式

(?s)Solution.*?(?=Solution|$)

.*?会懒惰地将 0 匹配到许多字符,即它吃得越少越好。没有?它会变得贪婪并尽可能多地吃。

x(?=yz)是一个前瞻,它仅在 x 后跟 yz 时才匹配

$是字符串的结尾


.默认情况下不会匹配换行符..您应该(?s)在正则表达式中使用修饰符或使用mod_s导致.匹配换行符的选项

于 2013-05-28T12:21:11.913 回答