c++ regex用法实例
目的,承接用法实例1,此次目的是可以发现ip地址和域名地址是否基本合法
code#include结果#include #include 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++) { //string s = ips[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; }



