次のような文字列に一致するboost.regex式を作成したいとします。
"繰り返し:5 aaaaa" "繰り返し:3 aaa"
ブーストでこれを行う方法はありますか?
次のような文字列に一致するboost.regex式を作成したいとします。
"繰り返し:5 aaaaa" "繰り返し:3 aaa"
ブーストでこれを行う方法はありますか?
特に boost::regex は使用していませんが、求めている正規表現は簡単です。boost::regex ドキュメントを見ると、次のようなことをするようです。
boost::regex e("repetitions:\\s+\\d\\s+[a-zA-Z]+");
(二重スラッシュは、エスケープ シーケンスがコンパイラによって飲み込まれないようにするためのものです)
注: 最初の数字が文字 'a' の数字と一致することも検証しようとしている場合、正規表現だけでは機能しません。正規表現は文字のみに一致し、その意味についての手がかりがないため、「5」と「3」は数値的には見られません。Capturesに関するドキュメントを参照してください。数値を文字列として取得し、lexical_cast
それを整数にして、それを使用してaaaaa
パーツを検証する必要があります。