`
cnhawkwing
  • 浏览: 65745 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

正则表达式 开源

阅读更多

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

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

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

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics