[PerlChina] China-pm Digest, Vol 43, Issue 21

truncatei truncatei at gmail.com
Mon Nov 17 06:01:40 PST 2008


2008/11/17 owen nirvana <freeespeech at gmail.com>

> 谢谢,问题是归到上一行这样的操作,我不知道如何用正则表达式完成,那不等于是让表达式再回溯吗
> gtalk:freeespeech at gmail.com <gtalk%3Afreeespeech at gmail.com>
>
>
> >>
> >>
> >> 还有一个问题,是关于提取数据的
> >>
> >> 2222  eewweasdds,asdasd.sadsadasdas
> >>          ddasdddddddddddddddddddda
> >>          ddddddddddddddddddddddddddd
> >> 2821  easdddddddddddddddddddddddd
> >> 2192  288888888888888888888ass0a-das.
> >>          as;dddsaddaa0---------22222222
> >>
> >> 诸如此类,左边很好办,可是右边并不限于单行,我该如何把这样的数据提取为  name title的格式存到数据表里呢
>
> <http://mail.pm.org/mailman/listinfo/china-pm>



my ($name, $title);
while (<>){
if (/^(\d+)\s+(.*)$) {
if ($name) {
 // 保存上一个 save $name, $title
 // 下面开始处理一个新的
$name = '';
$title = '';
}
$name = $1;
$title .= $2;
} elsif(/^\s+(.*)$/) {
$title .= $1;
}
// save last one

好久不写了,上面的代码或许会有些错误,大概的流程整理出来了:
每次遇到数字就开始一条数据,否则视为向当前数据中添加title


-- 
"老是呆在那里不好,我们随生活需要四处迁徙,多年以来的梦想,至今还未实现,压力堵塞了我们的耳朵,工作生涯到了尽头,还是一无所有,我们应该给后人留下点儿什么,教训是不会刻在纪念碑上的,光荣的命令和指引之手,也可请求,简单地改变一下角度就足够了"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/china-pm/attachments/20081117/e8fdbb3d/attachment.html>


More information about the China-pm mailing list