正则表达式测试程序(Boost Regex Tester)0.1(老版保留)
在昨天我编写了一个制作图书检索的小程序后,真的发现人们说的话太正确了。程序员主要处理的就是两件事,数据库,字符串。在那么一个小程序里,我已经用上了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中有下载
程序截图如下:
Posted By 九天雁翎 at 九天雁翎的博客 on 2007年12月02日