正则表达式 开源

其实这是两个根本不相关的话题,一个是几天在公司遇到的正则表达式的效率问题,一个是比尔盖茨在北大遭遇反垄断抗议,自己懒,就写到一起了。

1.正则表达式:

虽然,在公司用的是PHP,但是正则表达式在各门语言中都是相通的,大致都是一样的吧。

$str = "<td width=\"10%\" rowspan=\"2\" align=\"left\" valign=\"top\">www.cnhawk.org</td>";

要求把其中的网址取出来.

方法1:其中,用正则表达式“非贪婪模式”可以这样写$matchStr = "/<td (w+?)>(w+?)*</td>/i"(php语法);

preg_match_all($matchStr,$str,$array);

方法2:但是如果先用str_replace (' width=\"10%\" rowspan=\"2\" align=\"left\" valign=\"top\"','',$str),替换那些td属性,然后再用$matchStr2 = "/<td>(\w\.)</td>/i",preg_match_all($matchStr2,$str,$array);

数据量小的话,可能看不出有什么效率的提高,而我在公司是要取近一万行的数据,用第2种方法,速度提高了近10倍。可见,正则表达式“非贪婪模式”匹配速度慢,在有其他解决方案的情况下,尽量不要用“非贪婪模式”----虽然它看似简单了。

 

2.开源

“2007年4月20日,比尔盖茨在北大演讲,在他为一行人颁奖时,开源人士王洋冲上台并高举海报大声用英语叫喊反对微软垄断,事后他被警方带走进行调查。”

刚开始看到这则新闻,有点吃惊,但是了解细节以后,深深的为他的这种为开源而狂的精神所震撼。“知识产权”已经成为西方列强在未来压榨中国经济的一个重要大棒!”,唯一的出路就是推广“开源”。如此开源志士,令人敬佩!!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值