0

入力した行が「OK」かどうかを確認する機能が1つあります。

#include <tr1/regex>

bool lineIsValid(string line) {
    const tr1::regex pattern("[^-]{1,30} - [^-]{1,30}");
    return tr1::regex_match(line, pattern);
}

lineIsValid("test - test");

関数はfalseを返します。なんで?

4

2 に答える 2

2

おそらく構文は問題ありませんが、実装によって異なります。この投稿を確認してください。

またはこれ

さらに調査した結果、MicrosoftがVisual Studio2008[およびVisualStudio2010の非常に初期のバージョン]で提供するTR1フレームワークにバグがあると判断しました。これにより、Dinkumwareが提供する他の正規表現にバグがないのはなぜかと思います。それとも彼らですか?

于 2011-01-17T19:42:25.290 に答える
0

私はそれが一致するはずだと思ったでしょう。

tr1ライブラリの実装に潜在的にバグがありますか?範囲指定子として使用されている「-」と混同されている可能性があります。

于 2011-01-17T19:08:28.290 に答える