我需要帮助我的C ++代码。
我想搜索一个文件并逐行阅读,如果电话号码的父级匹配则必须将该行打印到另一个文件。
我能够匹配字符串但不确定:如何匹配电话号码的格式/模式电话号码可以不同。我只想按照电话号码匹配的格式。
Number的示例可以是xx-xxx-xxxx
这是我的代码看看
// reading a text file
if (mywritingfile.is_open())
{
//Getting data line from file.
while ( getline (myfile,line) )
{
if (Match the Pattren from the line)//Need Help Here.
{
//Printing the Mached line Content Of the source File to the destination the File.
//Output Every line that it fetches
cout << line << endl;
mywritingfile << line << endl;
matches++;
}
}
}
答案 0 :(得分:4)
如何使用正则表达式(C ++ 11)。
#include <iostream>
#include <regex>
int main()
{
std::regex r("[[:digit:]]{2}-[[:digit:]]{3}-[[:digit:]]{4}");
std::string s1("12-311-4321");
std::string s2("112-311-4321");
if (std::regex_match(s1, r)) {
std::cout << "ok" << std::endl;
} else {
std::cout << "not ok" << std::endl;
}
if (std::regex_match(s2, r)) {
std::cout << "ok" << std::endl;
} else {
std::cout << "not ok" << std::endl;
}
return 0;
}
您需要做的就是使用std::regex_match
函数检查每一行。