[严重求助] Perl 语言中正则表达式 改用 C++ 实现

软件和网站开发以及相关技术探讨
回复
李宇夏
帖子: 126
注册时间: 2009-01-27 16:36
联系:

[严重求助] Perl 语言中正则表达式 改用 C++ 实现

#1

帖子 李宇夏 » 2009-04-02 16:48

大家好,我现在做毕业设计

现在有一个 Perl 程序因执行效率的问题,指导老师要求我改写成 C/C++ 程序。

面对正则表达式的一些问题想请教各位:

有一段 Perl 代码:

代码: 全选

while(<INPUTFILE>)
{
if(m/((\S+)\s+(\d+)\s+(\d+)\s+\S+\s+(\+|-)\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+\s+\S+)/){ 
	   	    my  ($whole_exon_infor, $exon_type,  $exon_left_nb, $exon_right_nb, $exon_line_direction)
	   	       =($1,                $2,          $3,            $4,             $5                  );
}
如程序中所示,正则表达式匹配过程中产生的 $1 $2 $3 $4 $5 五个变量取出来将单独存放

这个功能在 C/C++ 下应该怎样实现?
我用的 正则表达式 库是 regex.h 和 pcre++
http://www.cnpcer.co.cc
一个新手使用 ubuntu 的经历,欢迎来指导
头像
wenstream
帖子: 186
注册时间: 2008-06-18 22:02

Re: [严重求助] Perl 语言中正则表达式 改用 C++ 实现

#2

帖子 wenstream » 2009-04-03 11:31

以供参考,希望对你有帮助
http://blog.chinaunix.net/u2/76292/showart_1841032.html
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: [严重求助] Perl 语言中正则表达式 改用 C++ 实现

#3

帖子 eexpress » 2009-04-03 12:04

前面4个,其实用split就可。
最后一个,就去掉一个字符而已。
regex.h看下嘛。
bash c 都支持正则。
● 鸣学
李宇夏
帖子: 126
注册时间: 2009-01-27 16:36
联系:

Re: [严重求助] Perl 语言中正则表达式 改用 C++ 实现

#4

帖子 李宇夏 » 2009-04-03 17:28

谢谢 2楼,网上大我介绍 C 语言下正则表达式的内容我都已经看过了

特别感谢 3楼,你的 split 启示了我,其实不一定非要用正则表达式实现这个赋值吧?通过源数据的规律直接定位到某一个位置
http://www.cnpcer.co.cc
一个新手使用 ubuntu 的经历,欢迎来指导
头像
wenstream
帖子: 186
注册时间: 2008-06-18 22:02

Re: [严重求助] Perl 语言中正则表达式 改用 C++ 实现

#5

帖子 wenstream » 2009-09-20 18:35

boost::regex
回复