|
这个是要匹配的文本的原文:
Pinging 127.0.0.1 with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
(...省略一点...)
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 233ms
我想匹配到平均延迟(也就是average=233ms的地方)。写的表达式是:Average.([0-9]+)ms
确实可以匹配到Average=223ms。但是c++好像对其他语言里正则的小括号免疫??我要怎么才能直接拿到233这三个数字?
下面是代码:
regex reg1("Average.([0-9]+)ms");
string s2 = status;
cout << "iterator结果:";
sregex_iterator it(s2.begin(), s2.end(), reg1);
sregex_iterator end;
for (; it != end; ++it)
{
cout<< it->str() << endl;
}
IDE是VS2017,求大佬指点迷津_(:з」∠)_ 而且为啥c++都不认类似e.=.([0-9])+ms的表达?
image.png
(24.91 KB, 下载次数: 1)
明明Java和php下都能通过,c++就不行。
快过年了,祝各位大佬万事如意!
|
|