0

文字列があり、 sub string"SolutionAN ANANANA SolutionBNabcabcSolutionX"で始まり、Solutionその直前で終わるすべての文字列を返したいと思いますSolution

使用中boost::regex、正規表現を作成できません。

SolutionAN ANANANASolutionBNababcおよび出力として取得したいSolutionX。私はブーストでの正規表現が初めてです。どんな助けでも大歓迎です。

4

1 に答える 1

1

この正規表現を使用できます

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

.*?0 から多くの文字を遅延して一致させます。つまり、食べる量をできるだけ減らします。それがなければ?貪欲になり、いくらでも食べてしまいます。

x(?=yz)yz が後に続く場合にのみ x に一致する先読みです

$文字列の終わりです


.デフォルトでは、改行文字と一致しません。(?s)正規表現内で修飾子を使用するか、改行文字と一致mod_sさせるオプションを使用する必要があります.

于 2013-05-28T12:21:11.913 に答える