VC中的正则表达式使用

简介: 对于很多应用,例如文件查询和名称匹配,在html文件中查找匹配的超链接等等 正则表达式自然是最好的解决方法. 不过VC里面竟然不如VBS对于Regular Expression那样有支持, 除非升级到VC.NET(使用拖管C++就可以使用).
对于很多应用,例如文件查询和名称匹配,在html文件中查找匹配的超链接等等 正则表达式自然是最好的解决方法. 不过VC里面竟然不如VBS对于Regular Expression那样有支持, 除非升级到VC.NET(使用拖管C++就可以使用).
    其实VBS也是使用了微软自己REGEX的一个COM, 称为 "Microsoft VBScript Regular Expression 5.5" 在OleViewer可以查找到相关信息. 下面是那篇文章的使用例子
#import "RegExp.tlb" no_namespace
  
   try  {
    static IRegExpPtr regExp( __uuidof(RegExp) );
    regExp->Pattern = _bstr_t(lpszPattern);
  
    HWND hWndCtrl = pDX->PrepareEditCtrl(nIDC);
    if (pDX->m_bSaveAndValidate)
    {
        int nLen = ::GetWindowTextLength(hWndCtrl);
        ::GetWindowText(hWndCtrl, value.GetBufferSetLength(nLen),nLen+1);
        value.ReleaseBuffer();
  
        //now we verify it
        if ( regExp->Test( (LPCTSTR)value) )
        {
            IMatchCollectionPtr matches=regExp->Execute((LPCTSTR)value);
            if ( matches->Count== 1)
            {
                IMatchPtr match = matches->Item[0];
                if ( match->FirstIndex==0 && match->Length == value.GetLength() )
                {
                  return;
                }

            }

        }

        CString strMsg = CString("The input does not exactly have the pattern ") + lpszPattern;
        pDX->m_pDlgWnd->MessageBox(strMsg);
        pDX->PrepareEditCtrl(nIDC);
        pDX->Fail();
    }

    else
    {
    }

  }

   catch (_com_error& e)
   {
      AfxMessageBox( e.ErrorMessage() );
  }
目录
相关文章
|
2月前
|
API Windows
用MASM32来DIY判断字符串1是否为字符串2的子串的函数演示代码(源码+exe)(应用lstrcpyn()和lstrcmp(),区分大小写)
用MASM32来DIY判断字符串1是否为字符串2的子串的函数演示代码(源码+exe)(应用lstrcpyn()和lstrcmp(),区分大小写)
【STM32】【vscode编译】 不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来(\“&\“),以将其作为字符串的一部分传递
【STM32】【vscode编译】 不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来(\“&\“),以将其作为字符串的一部分传递
440 0
|
Python
PyCharm正则替换
PyCharm正则替换
477 0
|
IDE 编译器 开发工具
MFC的宏_T()和_L()的区别,以及VS2017正则表达式批量替换_T()
MFC的宏_T()和_L()的区别,以及VS2017正则表达式批量替换_T()
438 0
MFC的宏_T()和_L()的区别,以及VS2017正则表达式批量替换_T()
|
C++
Visual Studio查找中文的正则表达式
原文: Visual Studio查找中文的正则表达式 经常有这样的需求:项目代码中有一些输出信息是中文写的,不过现在要做国际化,代码""中写的中文都要改成英文。这样就需要将代码中包含中文的字符串都找出来。
1134 0
|
程序员 API 开发工具