-1
文字列内の "^"(ハット記号)の数を数えようとしていますが、次のコードは間違った番号を返します。.NET C++ Regex :: Matches() - > Countが間違った数値を返します
Int32 lNumber = 0;
String* lString = S"abc^def^ghi^jkl";
lNumber = Regex::Matches(lString, S"\^")->Count + 1;
Console::WriteLine(lNumber);
//output:
// 2
ただし、出力は4になるはずです。代わりに2を得るのはなぜですか。
どのバージョンのC++ですか? posix正規表現ですか? C++のドットネット?!? – sln
これはC++/CLIの場合、 'System :: String *'は不正です( 'String ^'が必要です(注: 'C++ - cli'は' C++ 'ではなく正しいタグです)。 – crashmstr
チップ私はこのタグを変更しました。これは、私が管理している本当に古いプロジェクトです。マネージドとネイティブの両方のC++があります。正直なところ、この特定のプロジェクトでString *が動作する理由はわかりません。代わりにString ^ – reubonwry