c++ regex用法实例 2

Posted qianbo_insist

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ regex用法实例 2相关的知识,希望对你有一定的参考价值。

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++)
	
		//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;

结果

以上是关于c++ regex用法实例 2的主要内容,如果未能解决你的问题,请参考以下文章

常见python正则用法实例

C# Regex类用法

C++:从实例出发,搞定引用在不同场景的用法

在 C++ 中使用 regex/boost 查找 2 个数字之间的数字

C++中引用(&)的用法和应用实例

[转]C++中引用(&)的用法和应用实例