この簡単なプログラムを実行しました:
#include <iostream>
#include <string>
using namespace std;
#include <boost/regex.hpp>
int main ()
{
// boost::regex fullname_regex ("[A–Z]+[a–z]*, [A-Z][a–z]*");
boost::regex fullname_regex ("[A-Z]+[a-z]*, [A-Z][a-z]*");
string name;
cout << "Enter you full name: " << flush;
getline (cin, name);
if (! regex_match (name, fullname_regex))
{
cout << "Error: name not entered correctly" << endl;
}
return 0;
}
どこかからコピーしたばかりです。コメント行 (元のコピー/貼り付けの一部) のコメントを外し、次の行 (自分で入力) をコメントすると、プログラムは常に名前を拒否します。それ以外の場合は、期待どおりに機能します。私はvimを使用しています。私は:set list
隠し文字を見ましたが、セリフは同じです。ディスク障害 (非常に古いシステム) を疑って、元の行を下に移動するために、元の行の前に長いコメントを挿入しましたが、それでも同じエラーが発生しました。これはGUIのないubuntuサーバーです。これにはパテを使用します。私は Linux でのこのような問題に慣れていません。この奇妙な動作を説明できる理由を誰か知っている人がいたら、教えてください。たぶん、vim は元のページのいくつかのオプションをまだ使用していますが、実際にはここ:set list
にあり、フォーマットされていますが、それらは表示されませんか?