您的位置:首页 > 编程语言 > C语言/C++

在VS2008套装中的VC++环境下使用正则表达式

2012-03-13 11:21 381 查看
这里不对正则表达式的具体形式和具体运用进行讨论,只是提供一个可行的方法。在网上找了很多帖子都说VS2008所带的VC++中去掉了atlrx.h,个人觉得下载boost库是件麻烦的事,感觉一个高级编程环境不应该这样。结果在MSDN上找到了答案,其实可以用Regex和Match类实现。

言归正传,以下是MSDN中的例子:

// regex_reorder.cpp

// compile with: /clr

#using <System.dll>

using namespace System;

using namespace Text::RegularExpressions;

int main()

{

array<String^>^ name =

{

"Abolrous, Sam",

"Berg,Matt",

"Berry , Jo",

"www.contoso.com"

};

Regex^ reg = gcnew Regex("(?<last>//w*)//s*,//s*(?<first>//w*)");

for ( int i=0; i < name->Length; i++ )

{

Console::Write( "{0,-20}", name[i] );

Match^ m = reg->Match( name[i] );

if ( m->Success )

{

String^ first = m->Groups["first"]->Value;

String^ last = m->Groups["last"]->Value;

Console::WriteLine("{0} {1}", first, last);

}

else

Console::WriteLine("(invalid)");

}

return 0;

}

注意注释中的compile with: /clr,在编译时记得加上这个参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: