是的,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
,查找与模式匹配的子串。最后,我们输出所有匹配的子串。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: c++取模运算的方法是什么