私はこの正規表現は、C#で正確に変換できます。C++正規表現:C#の正規表現は、C++のLinuxへの変換
Regex (@"\s*nameserver\s+(?<address>.*)")
Regex (@"\s*search\s+(?<domain>.*)")
:: TR1 ::正規表現またはC++でregex.hするにはstdしますか? (Linux)
ありがとう!
私はこの正規表現は、C#で正確に変換できます。C++正規表現:C#の正規表現は、C++のLinuxへの変換
Regex (@"\s*nameserver\s+(?<address>.*)")
Regex (@"\s*search\s+(?<domain>.*)")
:: TR1 ::正規表現またはC++でregex.hするにはstdしますか? (Linux)
ありがとう!
std::tr1::regex
がincompeleteです:正規表現は、現在++/TR1グラムに実装されていません。 std::regex
にバグがあります。
boost::regex
を考えてください。
私がのstd :: tr1を::正規表現パッケージを知らないが、それは正規表現::ブーストをもとに実際にある場合、これらの正規表現変換するために些細なことする必要があります
"\\s*nameserver\\s+(?<address>.*)"
"\\s*search\\s+(?<domain>.*)"
あなたを正規表現を含む文字列を作成するときにバックスラッシュをエスケープする必要があります。それ以外に、これら2つの正規表現は、boost :: regexのPerl互換エンジンが処理できない機能を使用していません。あなたはグラム++、使用している場合、それは、価値がある何のため
IIRC彼らはregexのためのboostパッケージを使用しています。http://www.boost.org/doc/libs/1_45_0/libs/regex/doc/html/index.html –
@Uwe Keim:情報をありがとう!その場合、(少なくともPerl互換エンジンを使用している場合は)名前付きキャプチャグループを処理できる必要があります。だからおそらく、バックスラッシュをエスケープする必要があります... –
私はブーストを使用することはできません、あなたは他の提案がありますか? – gln