我有一个字符串(来自 irc 服务器的回答)。
从这个字符串我需要得到整数,来回答(PONG number_from_sv)
some txt PING :i_need_this_numbers some_text
如何在“PING:”附近获得这个数字,我不知道它有多长。我只知道,那是一个数字?
使用 c++11 标准,您可以找到带有内置正则表达式的 ID。
一种可能的正则表达式是PING :(\\d+)
,其中 \d 掩盖了任意数字。+
表示大于或等于 1(位数)。
查找 ID 的小脚本可能如下所示
#include <string>
#include <regex>
#include <iostream>
using namespace std;
int main ()
{
std::string s ("some txt PING :665454 some_text");
std::smatch mt;
std::regex r ("PING :(\\d+) ");
if (std::regex_search ( s, mt, r))
{
smatch::iterator it = mt.begin()+1; // First match is entire s
cout<<"Your ping ID is: "<<*it<<endl;
}
return 0;
}