a-z
C++ を使用して、ファイルがあり、キーワードを探しているとしますが、隣接する文字をまたはにしたくないとします0-9
。
U
次のようなファイルでキーワードを検索したいとします。
U 1.2;
Under 2.3;
abcdUefg;
2 行目や 3 行目ではなく、1 行目が表示されることを願っています。ただし、以下も問題ないことに注意してください。
"(U|B|tau)"
ここU
は一言だから。
ポイントは、探しているキーワードが、単語の一部ではなく、独立した単語であることです。それを行う最良の方法は何ですか?
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
string line;
vector<string> lines;
ifstream myfile ("FILE");
if (myfile.is_open())
{
while (myfile.good())
{
getline(myfile,line);
lines.push_back(line);
}
myfile.close();
}
else
{
cout << "Unable to open file";
}
for (unsigned i = 0; i < lines.size(); ++i)
{
if (lines[i].find("keyName") != string::npos)
{
printf("Key found!\n");
}
}
myfile.close();
return 0;
}