正则表达式是常用的一种方法。比较有名的类库是boost,但是这个类库在重了。所有就像找一些轻量级的类库。
后来发现准标准的库tr1已经很方便了,微软vs2008 sp1 以上版本都支持了。所有就直接用它很方便了。
而且支持unicode编码,还是很方便的。
例子:
#include #include #include int _tmain(int argc, _TCHAR* argv[]) { std::locale loc(""); std::wcout.imbue(loc); std::wstring text(_T("我的IP地址是:109.168.0.1.")); std::wstring newIP(_T("127.0.0.1")); std::wstring regString(_T("(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)")); // 表达式选项 - 忽略大小写 std::regex_constants::syntax_option_type fl = std::regex_constants::icase; // 编译一个正则表达式语句 std::wregex regExpress(regString, fl); // 保存查找的结果 std::wsmatch ms; // 判断是否全行匹配 if(std::regex_match(text, ms, regExpress)) { std::wcout