c++ regex用法实例
目的
,承接用法实例1,此次目的是可以发现ip地址和域名地址是否基本合法
code
#include <regex>
#include <iostream>
#include <string>
using namespace std;
#define GETN(x) sizeof(x)/sizeof(char*)
int main()
{
regex Pattern_ip("((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])");
regex Pattern_domain("([0-9A-Za-z\\-_\\.]+)\\.([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)");
const char *ips[] = { "192.168.20.250","1.1.1.1","abc" };
const char *domain[] = { "192.168.20.250","1.1.1.1","www.baidu.com.cn" };
int n = GETN(ips) ;
for (int i = 0; i < n; i++)
{
if (regex_match(ips[i], Pattern_ip))
{
cout << "ok ip" << endl;
}
else
{
cout << "ip address not ok" << endl;
}
}
n = GETN(domain);
for (int i = 0; i < n; i++)
{
if (regex_match(domain[i], Pattern_domain))
{
cout << "ok domain" << endl;
}
else
{
cout << "domain not ok" << endl;
}
}
return 0;
}
结果
|