こんにちは、このトピックの既存のラベルを調べても何も見つからなかったので、私はここで尋ねると思いました。基本的に私はregexとC++の初心者ですが、いくつかのレガシーコードをC++に移植しようとしています。読むべき文学の面での助けがあれば大歓迎です。構造化されていない文字列のregex_searchをブーストする
私は、ある文字列内"Life\\s*Policy\\s*=\\s*(([0-9]+)|[0-9]+\\.[0-9]*);"
を検索するパターン文字列持つ「生命方針= 9.67を、人生は= 1000利点;生命は、請求項= 100」
どうやって値を取得するregex_search
機能を使用することができます9.67
私はそれを私の計算にもっと使うことができるように?
私は現在、このコードを持っていると私は私が欲しいものを抽出することができません:
std::string::const_iterator begin;
boost::match_results<std::string::const_iterator> what;
begin = st.begin();
boost::match_flag_type flags = boost::match_perl;
while(boost::regex_search(begin,st.end(),what,ex,flags))
{
successcode = 200;
}
私の考えは、何が私は必要なすべての情報を持っているだろうということでした。 what[0].first
は一致する文字列の先頭を指します。つまりLife Policy = 9.67;Life Claims = ..
ありがとうマリウス...あなたは何[1]が私が必要とするものを持っていなければならないのか? – user751279
もちろん、申し訳ありませんがミスタイプです。 –
whileループから抜け出すことを忘れないでください。行の検索を続行する必要がある場合は、以下のようにbeginイテレータを更新する必要があります。start = what [0] .second; –