在 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++ 标准库文档。