原来都是用pcre的正则表达式,还要额外引用,很麻烦,今天用VS2010才知道原来有TR1也支持正则表达式,而且语法我感觉和PCRE是一样的.很爽...
regex_search()函数才与PHP的preg_match()功能类似,我开始用regex_match()搞了半天,一直返回false,后来才知道这个函数是匹配整个字符串用的.
stdafx.h中加入
#include <regex>
#include <string>
using namespace std;
using namespace std::tr1;
在程序需要的位置加入
regex rx("name=\"(.*?)\"");
cmatch match;
string html = "<input name=\"user\" value=\"confu\">";
regex_search(html.c_str(), match, rx);
CString str = "";
//就是取这个匹配出来的值害我搞了半天,直接取match[1]取到的值不是user
str.Format("%s", match.str(1).c_str());
AfxMessageBox(str);