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

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

 

分享到:
评论

相关推荐

    RegexDesigner.NET 正则表达式开源工具 支持中文 修改版

    regexdesigner.net是一个强力的可视化工具,可以帮助我们构建与测试.NET正则表达式,RegexDesigner.NET让我们将我们开发出的正则表达式集成到我们的应用程序,可以方便的生成C#或VB.NET代码并编译成程序集 ...

    c++写的正则表达式验证工具

    首先,Boost库是C++的一个开源库,提供了许多实用的功能,如智能指针、多线程支持、日期时间处理以及我们关注的正则表达式等。Boost库的正则表达式组件,即`boost::regex`,是C++实现正则表达式的常用选择之一,它...

    Delphi 10.4 最新版正则表达式(TRegExpr)源码

    Delphi平台下非常好用的正则表达式控件源码。TRegExpr库实现正则表达式。 正则表达式易于使用,功能强大,可用于复杂的搜索和替换以及基于模板的文本检查。这对于输入形式的用户输入验证特别有用-验证电子邮件地址等...

    C++正则表达式-regex类(不依赖其他库)

    C++正则表达式是C++11标准引入的一个强大工具,它允许程序员使用正则表达式进行文本模式匹配和搜索。在这个特定的案例中,我们关注的是`regex`类,它是C++ `&lt;regex&gt;`库的一部分,用于实现正则表达式操作。这个压缩包...

    Linux C Regex正则表达式 库

    在Linux环境中,C语言编程中处理字符串匹配和模式查找时,常常会用到正则表达式库。这里的"Linux C Regex正则表达式库"是一个专门为C语言开发的库,用于实现正则表达式的编译、匹配和操作功能。这个库经过修改后,也...

    Python-Pyregex是一个开源在线的Python正则表达式编辑器测试器

    作为一个开源工具,Pyregex为Python社区提供了极大的便利,尤其是对于那些初次接触或不熟悉正则表达式的用户。 在Python编程中,正则表达式主要通过`re`模块来实现。`re`模块提供了多种函数,如`match()`、`search...

    正则表达式实时测试工具(源码)

    此处提到的"正则表达式实时测试工具(源码)"很可能是一个开源项目,它可能包含以下功能: 1. 输入区:用户可以在此输入待测试的正则表达式和待匹配的文本。 2. 输出区:显示匹配的结果,包括是否匹配、匹配的起始...

    Jmeter正则表达式提取器

    《Jmeter正则表达式提取器的深度解析与应用》 在软件测试和性能测试领域,Apache JMeter 是一款广泛使用的开源工具,尤其在接口测试和Web应用性能测试中扮演着重要角色。其中,正则表达式提取器是Jmeter中的一个...

    Java Swing版的正则表达式测试工具

    其开源的特性使得用户可以深入理解内部实现,进一步提升正则表达式技能。 正则表达式是编程中的一种强大工具,用于模式匹配和字符串处理。它允许程序员通过简洁的语法来定义一系列规则,用于查找、替换或提取文本中...

    fpga自动加速正则表达式开源方案

    《Grapefruit:FPGA上的开源、全栈与可定制...综上所述,Grapefruit作为一款开源的FPGA自动机处理框架,它的出现为正则表达式的硬件加速带来了新的可能,推动了相关领域的技术进步,并为研究和实践提供了强大的工具。

    VC++支持中文的正则表达式函数库

    在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换和解析字符串。在C++编程环境下,虽然标准库没有内置的正则表达式支持,但开发人员经常通过第三方库来实现这一功能。...

    正则表达式C语言源码

    PCRE是一个功能强大的开源库,它实现了Perl风格的正则表达式。版本7.7是这个库的一个早期版本,尽管可能不及最新版完善,但对于学习和理解正则表达式的实现原理非常有价值。PCRE库不仅支持基本的正则表达式操作,如...

    C++ 使用正则表达式demo

    Boost库是C++的一个开源库集合,提供了很多现代C++特性,其中包括正则表达式组件`boost::regex`。在VS2008中使用Boost库,首先需要下载并安装Boost库,然后将其添加到项目的包含目录中。 3. **配置VS2008**: - ...

    Java正则表达式详解.pdf

    Jakarta-ORO是一个开源项目,提供了强大的正则表达式处理能力。 #### 3.1 使用Jakarta-ORO库 1. **下载与安装**:首先从Apache官网下载Jakarta-ORO库,并将其添加到项目的类路径中。 2. **创建Pattern对象**:...

    正则表达式的调试器java实现

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和分析字符串模式。在Java中,正则表达式被广泛应用于数据验证、文本搜索和替换等场景。本项目是基于Java实现的一个正则表达式调试器,通过NetBeans集成...

    js正则表达式详解

    虽然本文主要介绍了JavaScript中的正则表达式,但提到了Jakarta-ORO库,这是一个Java中用于处理正则表达式的开源库。尽管如此,对于JavaScript开发者来说,理解Jakarta-ORO库的原理和技术仍然很有帮助,尤其是在跨...

    eclipse正则表达式插件regex util

    3. **测试面板**:提供一个测试面板,可以输入待测试的文本和正则表达式,直观展示匹配和捕获的结果,便于调试和优化正则表达式。 4. **代码片段支持**:允许用户保存常用的正则表达式作为代码片段,方便在多个项目...

    java正则表达式详解

    Jakarta-ORO是一个开源项目,提供了丰富的正则表达式API。 ##### 2.1 安装Jakarta-ORO库 首先需要从Apache官网或者其他可信源下载Jakarta-ORO库并将其加入项目的类路径中。 ##### 2.2 使用Jakarta-ORO库的步骤 1...

    易语言正则表达式数据库1源码,易语言正则表达式数据库1.3版

    易语言正则表达式数据库1.3版源码是一个针对易语言编程环境设计的库,旨在帮助开发者在处理文本数据时使用正则表达式进行高效、精确的匹配和操作。正则表达式是一种强大的文本模式匹配工具,广泛应用于数据验证、...

    强大的JAVA正则表达式处理包jakarta-oro

    Java正则表达式是编程语言中的一个重要组成部分,用于文本处理和模式匹配。Jakarta ORO(Oracle Regular Expressions for Java)是Apache软件基金会开发的一个强大的Java正则表达式库,它为开发者提供了更为灵活和...

Global site tag (gtag.js) - Google Analytics