正则表达式测试程序(Boost Regex Tester)0.1(老版保留)

本文分享了作者在学习并应用Boost库中的正则表达式过程中遇到的问题及解决方法,特别是如何利用Boost处理复杂的字符串匹配任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在昨天我编写了一个制作图书检索的小程序后,真的发现人们说的话太正确了。程序员主要处理的就是两件事,数据库,字符串。在那么一个小程序里,我已经用上了STL的很多特征,而且基本操作起码都在string级别以上,但是还是繁复的要命。所以终于下定决心要学习一下极为有用却堪称天书的正则表达式。在学习的过程中用VS .NET IDE中的搜索实践了一下,发现还是不太方便,而且微软的东西好像不是很保险(主要指规范性上)。并且在C++中要用到正则表达式好像只能用boost库,那么我当然最好是熟悉boost库中的正则表达式的法则啦,干脆,做了一个利用boost实现的测试程序得了。

最后发现,正确的使用boost.regex 难度远远比正确使用regex还高,我没有见过设计的这么复杂的类和函数。硬是仔细的看了几遍在线文档才摸清头绪,最终好不容易完成了这个小程序。使用上没有什么好说的,上面输入正则表达式,下面为查找的字符串。另外,对于此boost库还有很多不明白的,比如不知道匹配的字符串在原字符串的位置怎么定位?

正则表达式 /bsss/b 可以匹配 ssss sss 中的最后三个sss,可是我怎么能从regex_search函数返回值中得到这样的结果呢?因为match_results中并没有包含位置信息,只有最后查到的字符串而已。因为这点不明,所以我没有办法把程序做成Windows中查找程序那样的结果表示方式。

编译好的程序和源代码都还是在http://groups.google.com/group/jiutianfile/files中有下载

程序截图如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值