C++语言程序设计之正则表达式的简单示例

现在来说,支持C++11标准的C++语言均支持正则表达式。下面是简单的正则表达式示例,it定位到第一个位置,end_it是空迭代器,起到尾后迭代器的作用。同时,for循环中的it递增运算通过regex_search来推进迭代器,最终完成遍历任务。

#include <regex>
#include <iostream>

int main(void)
{
	std::string data = "<Person><Item><ID>100001</ID><NAME>CHN</NMAE><AGE>5500</AGE></Item>"
		"<Item><ID>100002</ID><NAME>USA</NMAE><AGE>300</AGE></Item></Person>";
	std::regex re("<Item><ID>(.*?)</ID><NAME>(.*?)</NMAE><AGE>(.*?)</AGE></Item>");

	for (std::sregex_iterator it(data.begin(), data.end(), re), end_it; it != end_it; it++)
	{
		std::cout << it->str(1) << "\t"
			<< it->str(2) << "\t"
			<< it->str(3) << std::endl;
	}

	return 0;
}

Leave a Reply

Your email address will not be published.