阅读量:0
是的,C++中的std::regex
库可以实现多模式匹配。你可以使用|
运算符来表示多个模式之间的“或”关系。下面是一个简单的示例:
#include <iostream> #include <regex> #include <string> int main() { std::string input = "The quick brown fox jumps over the lazy dog"; // 创建一个正则表达式对象,包含两个模式 std::regex pattern("(quick|lazy)"); // 使用std::sregex_iterator遍历输入字符串,查找与模式匹配的子串 std::sregex_iterator it(input.begin(), input.end(), pattern); std::sregex_iterator end; // 输出所有匹配的子串 while (it != end) { std::cout << "Match: " << *it << std::endl; ++it; } return 0; }
在这个示例中,我们创建了一个正则表达式对象pattern
,它包含两个模式:quick
和lazy
。然后我们使用std::sregex_iterator
遍历输入字符串input
,查找与模式匹配的子串。最后,我们输出所有匹配的子串。