2008/11/17 owen nirvana <freeespeech@gmail.com>
谢谢,问题是归到上一行这样的操作,我不知道如何用正则表达式完成,那不等于是让表达式再回溯吗
gtalk:freeespeech@gmail.com
>>
>>
>> 还有一个问题,是关于提取数据的
>>
>> 2222 eewweasdds,asdasd.sadsadasdas
>> ddasdddddddddddddddddddda
>> ddddddddddddddddddddddddddd
>> 2821 easdddddddddddddddddddddddd
>> 2192 288888888888888888888ass0a-das.
>> as;dddsaddaa0---------22222222
>>
>> 诸如此类,左边很好办,可是右边并不限于单行,我该如何把这样的数据提取为 name title的格式存到数据表里呢
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
--
"老是呆在那里不好,我们随生活需要四处迁徙,多年以来的梦想,至今还未实现,压力堵塞了我们的耳朵,工作生涯到了尽头,还是一无所有,我们应该给后人留下点儿什么,教训是不会刻在纪念碑上的,光荣的命令和指引之手,也可请求,简单地改变一下角度就足够了"
没有评论:
发表评论