C++匹配字符串中的ip
时间: 2023-10-15 11:02:04 浏览: 42
可以使用正则表达式来匹配字符串中的IP地址。下面是一个使用C++11中的std::regex库来匹配IP地址的示例代码:
```c++
#include <iostream>
#include <regex>
#include <string>
int main() {
std::string str = "192.168.0.1 is my IP address";
std::regex pattern(R"((\d{1,3}\.){3}\d{1,3})");
std::smatch match;
if (std::regex_search(str, match, pattern)) {
std::cout << "Match found: " << match[0] << std::endl;
} else {
std::cout << "Match not found" << std::endl;
}
return 0;
}
```
上述代码中,我们使用了一个正则表达式来匹配IP地址:`(\d{1,3}\.){3}\d{1,3}`。这个正则表达式的含义是:匹配三个由1到3位数字组成的字符串,每个字符串之间用点号分隔,并且最后还要匹配一个由1到3位数字组成的字符串。这样就能匹配IP地址了。
然后我们使用`std::regex_search`函数来在字符串中查找匹配的文本。如果找到了,就会返回true,并且匹配的结果会保存在`std::smatch`对象中。我们可以使用`match[0]`来访问整个匹配的字符串。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)