VC里面使用正则的讨论

aoyihuashao 2009-11-03 10:39:14
加精
JAVA里string是直接可以支持正则的。

VC里面好像没这种功能啊,

刚看了几篇正则方面的资料,都满复杂的,有没有简单点的方法,

最好是针对CString的。


回复讨论的很热烈,欢迎大家分享自己在vc中使用正则的经验
...全文
1174 46 打赏 收藏 转发到动态 举报
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
ziplj 2009-11-24
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 calebgch 的回复:]
DEELX.h
我平常使用这个,就一个h文件,搜一下include进去就好了。
[/Quote]
下载了一个 谢谢分享!
Juchiyufei 2009-11-23
  • 打赏
  • 举报
回复
微软不是有个GRETA嘛。

GRETA是微软研究院推出的一个正则表达式模板类库,GRETA 包含的 C++ 对象和函数,使字符串的模式匹配和替换变得很容易,它们是:

" rpattern: 搜索的模式
" match_results/subst_results: 放置匹配、替换结果的容器

参见:http://www.vckbase.com/document/viewdoc/?id=1138
mgjgd 2009-11-23
  • 打赏
  • 举报
回复
学习了
xyz01 2009-11-19
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 calebgch 的回复:]
DEELX.h
我平常使用这个,就一个h文件,搜一下include进去就好了。
[/Quote]
我也用这个,很简单好用,对性能要求不是很高的话用这个就很方便了。
  • 打赏
  • 举报
回复
[Quote=引用 41 楼 xyz01 的回复:]
引用 28 楼 calebgch 的回复:
DEELX.h
我平常使用这个,就一个h文件,搜一下include进去就好了。

我也用这个,很简单好用,对性能要求不是很高的话用这个就很方便了。
[/Quote]
我也用这个
jmjwin 2009-11-19
  • 打赏
  • 举报
回复
VC6 使用 VBS 的正则COM
ULONG CXSCommon::VBRegExp(LPCTSTR sContent,LPCTSTR sPattern,CString& sResult)
{
sResult="";
::CoInitialize(NULL);
VBScript_RegExp_10::IRegExpPtr pRegExp;
HRESULT hr;
hr = pRegExp.CreateInstance(__uuidof(VBScript_RegExp_10::RegExp));
if(FAILED(hr)){
MessageBox(NULL,_T("无法创建正则表达式对象!"),_T("警告"),MB_ICONERROR);
return -1;
}
pRegExp->PutPattern((_bstr_t)(LPCTSTR)sPattern);/*正则表达式*/

pRegExp->PutGlobal(VARIANT_TRUE);

int i;
try
{

VBScript_RegExp_10::IMatchCollectionPtr pMC =
pRegExp->Execute((_bstr_t)(LPCTSTR)sContent);/*要匹配的内容*/
VBScript_RegExp_10::IMatchPtr pM;
CString sTxt;
for( i=0;i<pMC->Count;i++){
pM = pMC->GetItem(i);
sTxt = (LPCTSTR)pM->GetValue();
}
}catch(_com_error& e)
{
CString sErr=(LPCSTR)e.Description();
return -1; //e.Error()
}
pRegExp.Release();
return i;
}
forcal 2009-11-06
  • 打赏
  • 举报
回复
标记一下,即将在Forcal中使用正则表达式。
我的blog:http://blog.csdn.net/forcal
天之骄子_ 2009-11-06
  • 打赏
  • 举报
回复
C++还是很强的。
lovedarling 2009-11-06
  • 打赏
  • 举报
回复
谢谢!要开始学习C++了,学习动态库
兰儿囡囡 2009-11-06
  • 打赏
  • 举报
回复
学习。。。
马少华 2009-11-06
  • 打赏
  • 举报
回复
我一般用混合编程
用托管类
System::Text::RegularExpressions::Regex
stivenjia 2009-11-06
  • 打赏
  • 举报
回复
C++ 0x目前还没有编译器能够完全支持该标准,据我所知还没有.
所以类似这种regex还是使用boost不仅跨平台而且功能比较完善,而且后面还有一个开源组织在维护。
benny_cen 2009-11-05
  • 打赏
  • 举报
回复
good
glyc 2009-11-05
  • 打赏
  • 举报
回复
windows很早就在Windows Script 5提供了正则表达式RegExp,在VC中通过COM调用。
从Visual C++ 7开始在ATL中提供CAtlRegExp模板.

另外,在boost和C++0x也提供正则表达式。
huoxudong125 2009-11-05
  • 打赏
  • 举报
回复
have a look
harizu76 2009-11-05
  • 打赏
  • 举报
回复
学习学习
chenyu2202863 2009-11-04
  • 打赏
  • 举报
回复
ATL中带有正则~
clever101 2009-11-04
  • 打赏
  • 举报
回复
rayyear 2009-11-04
  • 打赏
  • 举报
回复
学习下。mark
calebgch 2009-11-04
  • 打赏
  • 举报
回复
DEELX.h
我平常使用这个,就一个h文件,搜一下include进去就好了。
加载更多回复(25)

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧