私は、自分のプログラムで作成された構成ファイルを解析するために、ほとんどの日を正規表現について学習してきました。現在、設定ファイルは漠然とINIファイルに似ていますが、後で展開されます。このように構成されています
> ##~SECTIONNAME~##
> #KEY#value/#
> #KEY#value/#
> #KEY#value/#
> ##~ANOTHERSECTION~##
> #KEY#value/#
> #KEY#value/#
> #KEY#value/#
私がやろうとしているのは、セクション名を文字列として戻すことです。私の正規表現は#{2}〜(。*)〜#{2}で、オンラインのperelregexテスターで正常に機能します。しかし、C ++で実行すると、奇妙な結果が得られます。
split_regex(sectionList,file,regex("#{2}~(.*)~#{2}"));
sectionListは、セクション名のリストを保持する一時的なデータホルダーです。Fileは、ロードされた構成ファイルからのすべてのテキストを含む文字列です。それが現在していることは、私に空白の最初のインデックスを与えることです。2番目のインデックスは、LASTセクションの下にあるすべての文字列を保持します。
私の最終的な目標は、ペアのベクトルを作成することです。一方はセクションリストのテキストを保持し、もう一方は別のベクトルを保持します。2番目のベクトルは、キーと値(または別のペア)を保持するクラスのインスタンスを保持します。
これについて行く良い方法は何ですか?正規表現の書き方がわかりました。しかし、ブーストで正規表現のドキュメントを見た後でも、その正規表現を使用する方法がまだよくわかりません。
私の質問を読んでくれてありがとう。お時間を割いていただき、誠にありがとうございます。どんな助けでもいただければ幸いです。