c++ regex用法实例
Posted qianbo_insist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ regex用法实例相关的知识,希望对你有一定的参考价值。
目的
目的是将arp -a 命令扫描出来的局域网中的地址分离出ip 和 mac等信息
直接代码
#include <regex>
#include <iostream>
#include <string>
#include <sstream>
std::string test1 = "接口: 192.168.1.144 --- 0x5";
std::string test2 = " 192.168.1.1 cc-81-da-02-ed-f1 动态";
const char * test = "接口: 192.168.1.144 --- 0x5"
" Internet 地址 物理地址 类型"
" 192.168.1.1 cc-81-da-02-ed-f1 动态"
" 192.168.1.255 ff-ff-ff-ff-ff-ff 静态"
" 224.0.0.22 01-00-5e-00-00-16 静态"
" 224.0.0.251 01-00-5e-00-00-fb 静态"
" 224.0.0.252 01-00-5e-00-00-fc 静态"
" 239.255.255.250 01-00-5e-7f-ff-fa 静态"
" 255.255.255.255 ff-ff-ff-ff-ff-ff 静态";
int main()
//std::stringstream s = test2;
std::string target = "@abc def--";
std::regex e("(\\\\S+)\\\\s+(\\\\S+)\\\\s+(\\\\S+)");
std::smatch sm;
std::regex_search(test2, sm, e);
for (int i = 0; i < sm.size(); ++i)
std::cout << "sm[" << i << "]: " << sm[i] << std::endl;
std::cout << "sm.prefix: " << sm.suffix() << std::endl;
return 0;
以上是关于c++ regex用法实例的主要内容,如果未能解决你的问题,请参考以下文章