C++ TR1正则库使用示例
作者: 阙荣文
时间: 2011/8/13
[背景介绍]
要想在程序中使用正则表达式,首先需要有库支持.目前比较有影响的C++正则库主要有GNU Regex Library,它是glibc的一部分.另一个就是PCRE全称是Perl Compatible Regular Expressions.从名字我们可以看出PCRE库是与Perl中正则表达式相兼容的一个正则表达式库.PCRE是免费开源的库,它是由C语言实现的,这里是它的官方主页:http://www.pcre.org/ PCRE++是一个对PCRE库的C++封装.转帖一篇相关介绍的文章:http://hi.baidu.com/joec3/blog/item/5375d3da14ab07d6b7fd487b.html
当然了,我们知道TR1中也包含了一个正则库,来自Boost的 regex.既然标准库中有相应的功能,自然优先使用标准库提供的功能(TR1还不是标准库,不过也是迟早的事).
现在有不少编译器已经完全实现了TR1库,这里要表扬一下微软,其在C++编译器上所做的努力和获得的进步有目共睹.VC++ 2008就已经完全实现了TR1库,VC++ 2010甚至已经迫不及待的把 tr1 名称空间合并到 std 中,急迫之情可见一斑,可惜C++ 0x遥遥无期啊.当然还有一向,继续牛着的 GNU C++编译器也完全支持 tr1 库. http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr1
应该说使用 tr1 库的外部条件已经完全成熟了.
[代码示例]
在VC++ 2010中建立一个 Win32 控制台工程,选中UNICODE支持.
作者: 阙荣文
时间: 2011/8/13
[背景介绍]
要想在程序中使用正则表达式,首先需要有库支持.目前比较有影响的C++正则库主要有GNU Regex Library,它是glibc的一部分.另一个就是PCRE全称是Perl Compatible Regular Expressions.从名字我们可以看出PCRE库是与Perl中正则表达式相兼容的一个正则表达式库.PCRE是免费开源的库,它是由C语言实现的,这里是它的官方主页:http://www.pcre.org/ PCRE++是一个对PCRE库的C++封装.转帖一篇相关介绍的文章:http://hi.baidu.com/joec3/blog/item/5375d3da14ab07d6b7fd487b.html
当然了,我们知道TR1中也包含了一个正则库,来自Boost的 regex.既然标准库中有相应的功能,自然优先使用标准库提供的功能(TR1还不是标准库,不过也是迟早的事).
现在有不少编译器已经完全实现了TR1库,这里要表扬一下微软,其在C++编译器上所做的努力和获得的进步有目共睹.VC++ 2008就已经完全实现了TR1库,VC++ 2010甚至已经迫不及待的把 tr1 名称空间合并到 std 中,急迫之情可见一斑,可惜C++ 0x遥遥无期啊.当然还有一向,继续牛着的 GNU C++编译器也完全支持 tr1 库. http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr1
应该说使用 tr1 库的外部条件已经完全成熟了.
[代码示例]
在VC++ 2010中建立一个 Win32 控制台工程,选中UNICODE支持.
#include <iostream>
#include <string>
#include <regex>
int _tmain(int ar

本文介绍了C++ TR1中的正则库使用,包括如何创建正则表达式对象,使用`regex_match()`和`regex_search()`进行匹配,以及如何通过`std::wsmatch`对象获取匹配结果和进行文本替换。示例代码展示了在VC++ 2010中使用正则库进行IP地址匹配和替换的操作。
最低0.47元/天 解锁文章
133

被折叠的 条评论
为什么被折叠?



