目的是将arp -a 命令扫描出来的局域网中的地址分离出ip 和 mac等信息
直接代码#include#include #include #include 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; }



