其实这是两个根本不相关的话题,一个是几天在公司遇到的正则表达式的效率问题,一个是比尔盖茨在北大遭遇反垄断抗议,自己懒,就写到一起了。
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日,比尔盖茨在北大演讲,在他为一行人颁奖时,开源人士王洋冲上台并高举海报大声用英语叫喊反对微软垄断,事后他被警方带走进行调查。”
刚开始看到这则新闻,有点吃惊,但是了解细节以后,深深的为他的这种为开源而狂的精神所震撼。“知识产权”已经成为西方列强在未来压榨中国经济的一个重要大棒!”,唯一的出路就是推广“开源”。如此开源志士,令人敬佩!!!
分享到:
相关推荐
regexdesigner.net是一个强力的可视化工具,可以帮助我们构建与测试.NET正则表达式,RegexDesigner.NET让我们将我们开发出的正则表达式集成到我们的应用程序,可以方便的生成C#或VB.NET代码并编译成程序集 ...
Delphi平台下非常好用的正则表达式控件源码。TRegExpr库实现正则表达式。 正则表达式易于使用,功能强大,可用于复杂的搜索和替换以及基于模板的文本检查。这对于输入形式的用户输入验证特别有用-验证电子邮件地址等...
Grapefruit: An Open-Source, Full-Stack, and Customizable Automata Processing on FPGAs。 2020 IEEE论文。 讲解fpga自动加速正则表达式开源方案。
Pyregex是一个开源在线的Python正则表达式编辑器、测试器
提取了boost::regex里边的几个正则表达式匹配搜索接口,打包成DLL,以在不依赖于boost的情况下独立编译运行
一个完美支持中文且语法完善的自制正则表达式库,这可能是第一个大陆程序员写的开源正则表达式库,作者放弃除著作署名权之外的任何权益,你可以在保留此申明的前提下,自由的,无限制的分发、修改和使用本函数.
RegexGen.js 是开发给 JavaScript 使用的正则表达式产生器,可以使用浅显易懂的语法来表现复杂的正则表达式。 RegexGen.js 基本上是为那些已经了解正则表达式引擎运作原理,但是不常使用正则表达式的人而开发的。...
将正则表达式解释为railroad图形化的可视化工具 标签:Regexper
OgreKit 是一款为 Cocoa 开发的正则表达式框架,该框架提供了一个与 Ruby 使用的相同的正则表达式引擎与一个高层次的 GUI 查找面板。可以在这里获取源码。 OgreKit 使用 Oniguruma/Onigmo 正则表达式引擎。...
正则表达式开源正则表达式引擎。 警告。 并非旨在用于生产目的,而是出于学习目的而创建的! 请参阅“系列以了解该项目的发展过程。用法通过提供一个模式和一组可选的选项( Regex.Options )创建一个Regex对象: ...
credit-card-regex, 匹配信用卡号码的正则表达式 credit-card-regex 匹配信用卡号码的正则表达式安装$ npm install --save credit-card-regex用法const creditCardRegex = requ
PySwiftyRegex 是 Swift 的像 Python 的 re 模块一样简洁高效的正则表达式封装,面向 iOS/OSX,支持 Cocoapods。 示例代码: import PySwiftyRegexif let m = re.search("[Tt]his is (.*?)easy", "I ...
一个正则表达式的可视化开源工具,直接输入正则表达式就能用可视化显示出来,只需要把你的表达式输入进去,就有可视化的图形。
正则表达式测试工具正则表达式测试工具,使用Java开发,方便跨平台离线使用.Java,Python和C#当前支持正则表达式实现引擎,当前版本为beta。使用JavaFX 11组件开发,请遵循BSD协议,您可以免费获取和修改该程序,...
这是一个基于python的UI应用程序,可以根据提供的正则表达式重命名目录内一组文件的一部分。 由于它使用分组原则,因此与其他重命名文件相比,它具有更大的灵活性。 这有两个级别的应用重命名,第一阶段显示重命名时...
php参考文档+正则表达式+php开源代码,都是开发中一定要用到的东西,有了这些就像多了一位好帮手。有需要的朋友拿去,给我评下分!
正则表达式验证工具 很好用 欢迎加入。net开源交流群69594961
轻松学习正则表达式。.zip,用简单的方法学习正则表达式
semver-regex, 匹配semver版本的正则表达式 semver正则表达式 匹配 semver 版本的正则表达式安装$ npm install semver-regex用法const semverRegex = require('semver-regex'
本文通过几个具体的实例,给大家详细介绍了C#中的正则表达式Regex类的实用方法,非常的细致,有需要的小伙伴可以参考下