1

この文字列からMyName(MyNameには "以外の文字を含めることができます)を取得するには、正規表現が必要です。

lablabla name="MyName" user="MyUser" lablabla

私が使用した:

boost::regex reg(".*name=\"(?<action>.*)\"\\s.*", boost::regex::perl);

しかし、それは戻ります:

MyName" user="MyUser
4

1 に答える 1

3

どうですか:

boost::regex reg(".*name=\"(?<action>.*?)\"\\s.*", boost::regex::perl);

それは貪欲になります。また:

boost::regex reg(".*name=\"(?<action>[^\"]*)\"\\s.*", boost::regex::perl);

これは、アクションに二重引用符を含めることができないことを明示的に指定します。

于 2012-11-29T09:38:11.390 に答える