0%

C++正则表达式分割字符串

输入

1
MACAddress         \r\r\n7E:4A:92:5B:48:BE  \r\r\n                   \r\r\n                   \r\r\n                   \r\r\n                   \r\r\n                   \r\r\n                   \r\r\n                   \r\r\n                   \r\r\nA2:0E:20:52:41:53  \r\r\nA4:59:20:52:41:53  \r\r\nA6:E0:20:52:41烫烫烫烫烫烫烫烫烫烫:53  \r\r\n                   \r\r\n                   \r\r\n00:FF:C6:2F:5F:AE  \r\r\n0A:61:12:13:05:A0  \r\r\n                   \r\r\n                   \r\r\n                   \r\r\n                   \r\r\n                   \r\r\n50:EB:F6:5C:31:1E  \r\r\nE8:4E:06:9D:04:22  \r\r\nEA:4E:烫烫烫烫烫烫烫烫烫烫06:9D:04:22  \r\r\nEA:4E:06:9D:04:32  \r\r\n\r\r\n

处理

1
2
3
std::regex re("[\r\n ]+");
std::sregex_token_iterator first{ res.begin(), res.end(), re, -1 }, last;
std::vector<std::string> s{ first, last };

输出

1
2
3
4
5
6
7
8
9
10
11
MACAddress
7E:4A:92:5B:48:BE
A2:0E:20:52:41:53
A4:59:20:52:41:53
A6:E0:20:52:41烫烫烫烫烫烫烫烫烫烫:53
00:FF:C6:2F:5F:AE
0A:61:12:13:05:A0
50:EB:F6:5C:31:1E
E8:4E:06:9D:04:22
EA:4E:烫烫烫烫烫烫烫烫烫烫06:9D:04:22
EA:4E:06:9D:04:32