各位师兄师姐们,正则表达式在MFC中怎么用.先谢谢了 比如输入:work#则能找到 work1,work2,work3.......最后一位只能是数字.是不是要一个一个的去和[1...9]的比较? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是要实现正则表达式还是用?用的话参考CAtlRegExp类。 请问楼上,在MFC中怎么用 CAtlRegExp类,有没有例子参考,谢谢了 // catlregexp_class.cpp#include <afx.h>#include <atlrx.h>int main(int argc, char* argv[]){ CAtlRegExp<> reUrl; // Five match groups: scheme, authority, path, query, fragment REParseError status = reUrl.Parse( "({[^:/?#]+}:)?(//{[^/?#]*})?{[^?#]*}(?{[^#]*})?(#{.*})?" ); if (REPARSE_ERROR_OK != status) { // Unexpected error. return 0; } CAtlREMatchContext<> mcUrl; if (!reUrl.Match("http://search.microsoft.com/us/Search.asp?qu=atl&boolean=ALL#results", &mcUrl)) { // Unexpected error. return 0; } for (UINT nGroupIndex = 0; nGroupIndex < mcUrl.m_uNumGroups; ++nGroupIndex) { const CAtlREMatchContext<>::RECHAR* szStart = 0; const CAtlREMatchContext<>::RECHAR* szEnd = 0; mcUrl.GetMatch(nGroupIndex, &szStart, &szEnd); ptrdiff_t nLength = szEnd - szStart; printf_s("%d: \"%.*s\"\n", nGroupIndex, nLength, szStart); } return 0;} 报错: fatal error C1083: Cannot open include file: 'atlrx.h': No such file or directory 说明:我用的是VC6.0 ias Internet验证服务 扩展DLL 请教怎么用MFC 创建一个带窗口的 ACTIVEX? 关于Tab control [新手]一个简单问题:怎样在图片上写字? 开发 如何让DLL跑在一个独立的进程空间内???或是一个自己的一个地址空间内 关于多个显示器的编程 关于fprintf的问题 借人气一问,急,马上结贴 对话框显示BMP图片,做了很多次都没成功,请赐教 认证一个图象压缩算法? 再求MFC源程序一份,内容不限.帮帮忙吧
// catlregexp_class.cpp
#include <afx.h>
#include <atlrx.h>int main(int argc, char* argv[])
{
CAtlRegExp<> reUrl;
// Five match groups: scheme, authority, path, query, fragment
REParseError status = reUrl.Parse(
"({[^:/?#]+}:)?(//{[^/?#]*})?{[^?#]*}(?{[^#]*})?(#{.*})?" ); if (REPARSE_ERROR_OK != status)
{
// Unexpected error.
return 0;
} CAtlREMatchContext<> mcUrl;
if (!reUrl.Match(
"http://search.microsoft.com/us/Search.asp?qu=atl&boolean=ALL#results",
&mcUrl))
{
// Unexpected error.
return 0;
} for (UINT nGroupIndex = 0; nGroupIndex < mcUrl.m_uNumGroups;
++nGroupIndex)
{
const CAtlREMatchContext<>::RECHAR* szStart = 0;
const CAtlREMatchContext<>::RECHAR* szEnd = 0;
mcUrl.GetMatch(nGroupIndex, &szStart, &szEnd); ptrdiff_t nLength = szEnd - szStart;
printf_s("%d: \"%.*s\"\n", nGroupIndex, nLength, szStart);
} return 0;
}