在 Linux 中使用 C++ 进行正则表达式操作,需要包含 <regex> 头文件
#include <iostream>
#include <string>
#include <regex>
int main() {
// 定义一个正则表达式
std::regex pattern(R"((\d{3})-(\d{2})-(\d{4}))");
// 要匹配的字符串
std::string text = "电话号码:123-45-6789";
// 使用 regex_search 查找匹配项
std::smatch matches;
if (std::regex_search(text, matches, pattern)) {
std::cout << "找到匹配项:" << std::endl;
for (size_t i = 0; i < matches.size(); ++i) {
std::cout << "匹配项 "<< i << ": " << matches[i] << std::endl;
}
} else {
std::cout << "未找到匹配项" << std::endl;
}
return 0;
}
在这个示例中,我们使用正则表达式 (\d{3})-(\d{2})-(\d{4}) 来匹配电话号码格式。std::regex_search 函数用于在给定的文本中查找匹配项。如果找到匹配项,它将存储在 std::smatch 对象中,然后我们可以遍历并打印匹配项。
编译并运行此程序:
g++ -o regex_example regex_example.cpp
./regex_example
输出:
找到匹配项:
匹配项 0: 123-45-6789
匹配项 1: 123
匹配项 2: 45
匹配项 3: 6789
这只是一个简单的示例,你可以根据需要修改正则表达式以匹配不同的模式。更多关于 C++ 正则表达式的信息,可以查阅 C++ 标准库文档。