std::string 如何查找所有匹配字符串
时间: 2023-08-15 17:19:05 浏览: 91
KMP.rar_KMP模式匹配算法_字符串查找
你可以使用正则表达式来查找所有匹配字符串。具体来说,可以使用C++11引入的std::regex库来进行正则表达式匹配。以下是一个简单的示例代码:
```cpp
#include <iostream>
#include <regex>
#include <string>
int main() {
std::string input = "Hello, World! This is a test string.";
std::regex pattern("is");
std::sregex_iterator begin(input.begin(), input.end(), pattern);
std::sregex_iterator end;
for (std::sregex_iterator i = begin; i != end; ++i) {
std::smatch match = *i;
std::cout << "Matched: " << match.str() << std::endl;
}
return 0;
}
```
在这个示例中,我们首先定义了一个输入字符串和一个正则表达式模式。然后,我们使用std::sregex_iterator来迭代查找所有匹配项。最后,我们输出了每个匹配项的值。
如果你想要查找更复杂的模式,你可以使用更复杂的正则表达式。std::regex库提供了一些有用的正则表达式功能,如字符类、量词、分组等。
阅读全文