1. 程式人生 > >c++ 正則表達式

c++ 正則表達式

arc div ring 調用 頭文件 支持 alt 叠代 循環

正則表達式在對大量字符串的提取有效信息,所支持的頭文件#include <regex>

      regex_match:將一個字符序列與一個正則表達式匹配       regex_search:尋找第一個與正則表達式匹配的子序列       regex_replace:使用給定格式替換一個正則表達式       sregex_iterator:叠代器適配器,調用regex_search來遍歷一個string中所有匹配的字串 這裏要註意的是\b這種在輸入時要變成\\b,這裏的+代表一直找\d知道遇到 ‘.‘(如果我們只想找n個數字只需要把+換{n}即可),{1}代表著上面的組只循環一次 循環搜索:
	string test = "145341.35186410.200034uhvsv nfji7676876///1324531.1";
	smatch mat;
	regex rgx("(\\d+\\.){1}");
	string::const_iterator start = test.begin();
	string::const_iterator end = test.end();
	
	while (regex_search(start, end, mat, rgx))
	{
		cout << mat[1].str() << endl;
		start = mat[0].second;
	}

 輸出結果:循環輸出 

c++ 正則表達式