次のテスト文字列があります。
#5=BUILDING('xxxcdccx',#5,$,$,$,#21,$,$,.ELEMENT.,$,$,$);
#6=BUILDING('xxxcdccx',#5,$,$,$,#21,$,$,.ELEMENT.,$,$,$);
#7=BUILDING('xxxcdccx',#5,$,$,$,#21,$,$,.ELEMENT.,$,$,$);
抽出する必要があります:
- 上記の文字列から「#integer」(常に文字列の先頭から始まる)を変数に格納します。
- 上記のテスト文字列の "(" と ")" の間の文字列。
正規表現を使用してC ++でこれを達成する方法を誰かが提案できますか?
簡単な例として次のことを試しました(一度に1行ずつ処理するループです):
std::regex e ("\#[:d:]+");
if (std::regex_match(sLine,e)){
//store it and process it
}
出力は次のようになります。
#5
and
'xxxcdccx',#5,$,$,$,#21,$,$,.ELEMENT.,$,$,$ ?? (not sure)