| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2380 人关注过本帖, 1 人收藏
标题:非常适合初学者的题目三:百度的高级搜索方法(要求熟悉字符串的处理和文件 ...
只看楼主 加入收藏
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用限量版猪头在2009-9-17 11:12的发言:

这种问题,现在一般都是perl去解决了。。。

过会给出perl源码。。



等你的源码。

我帮 你修bug.

还好,还懂点perl.
2009-09-17 11:48
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 
#! D:/Program Files/Perl/bin/perl.exe -W

use strict;
 
my $match_one;
my $match_two;
 
if(open(SITE_IN, "E:/Projects/Perl/site_inurl.txt") || die "$!")
{
    if(open(URL_FILE, "E:/Projects/Perl/url.txt") || die "$!")
    {
        foreach (<SITE_IN>)
        {
            if( m{^site:(.+) inurl:/(.+)} )
            {
                $match_one = $1;
                $match_two = $2;
 
                foreach(<URL_FILE>)
                {
                    if( m{$match_one.*$match_two} )
                    {
                        print $_;
                    }
                }
            }
        }
    }
}
 
close(SITE_IN);
close(URL_FILE);
 
楼主,这是perl的代码,我想肯定比C要简洁多了吧?而且不同人用perl写出来的都不一样。这就是Perl的思想There's More Than One Way To Do It

我的意思是,对于同一种问题,方法很多,我用perl完全可以写出grep,但是grep功能有限,如果要对提取的文本做复杂操作,肯定还要自己写的。但是用Perl代码肯定要比c版简洁很多,perl就是为处理文本而诞生的,C在这方面是不如perl的,当然有c的regex库, pcre,也很好用,甚至是perl本身也是在用这个库.

我06年那会注册这个论坛,当时还是学生,如今是名工程师,潜水N年,见多了这个坛子的浮躁,不是比所谓算法的,就是直接题目,自己写的代码都没有,直接要源码的,要么就是抠字眼,喷人的,我承认我错了,我的知识里没有grep是shell的概念,在我来说任何东西不过是某种语言写出来的而已。

如果要运行本程序,只要下载WIN32的Perl,然后把代码保存成任何格式的文本文件,正统点是.pl, 在CMD里敲perl filename.pl,公司活很忙,就这样了,




2009-09-17 12:28
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
错了还这么多废话

学rootkit 潜水N年, 然后以此为荣, 炫耀一翻。


[ 本帖最后由 BlueGuy 于 2009-9-17 12:40 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2009-09-17 12:37
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 13楼 BlueGuy
工程师?  衣锦还乡了

我就是真命天子,顺我者生,逆我者死!
2009-09-17 12:37
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 
对不起,我错了,别那么咄咄逼人好吗?

我不过是利用空闲时间来学习的,和交流的。


2009-09-17 12:43
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
公司活很忙,就这样了

我就是真命天子,顺我者生,逆我者死!
2009-09-17 12:46
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 
希望斑竹能看到,

帮忙删下我的号,谢谢。

2009-09-17 12:48
zhddragon
Rank: 5Rank: 5
等 级:职业侠客
帖 子:208
专家分:346
注 册:2009-5-14
收藏
得分:0 
回复 12楼 限量版猪头
在实际中对于这种应用有几T以上的数据,如果用perl运行,速度可想而知。

身体是玩命的本钱
2009-09-17 12:50
vcx
Rank: 2
等 级:论坛游民
帖 子:61
专家分:81
注 册:2009-9-15
收藏
得分:0 
我不知道
2009-09-17 12:50
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 
以下是引用zhddragon在2009-9-17 12:50的发言:

在实际中对于这种应用有几T以上的数据,如果用perl运行,速度可想而知。

    Perl 几乎没有限制。几乎没有什么事不能由Perl 来完成。你一般不希望用Perl 来书写内核级的中断驱动程序(虽然Perl
    能完成)。但针对一般工作中遇到的问题,从一次性程序到工业级的运用,Perl 都能出色的完成。

    Perl 速度快。那是由于,所有的Perl 开发者都使用Perl,他们希望它快。如果某人想加一个很酷的功能到Perl 中,但它会
    降低其它程序的速度,Larry 基本上会拒绝添加它除非找到一个方法使它足够快。

    这是小骆驼书上的原话,现在CGI也流行用perl写,如果说速度慢,我不承认,但是perl5确实很臃肿

2009-09-17 12:55
快速回复:非常适合初学者的题目三:百度的高级搜索方法(要求熟悉字符串的处理和 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016421 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved