`
bardo
  • 浏览: 378376 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11807
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:10116
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9504
社区版块
存档分类
最新评论

正则表达式与字符串、数组处理效率

    博客分类:
  • PHP
阅读更多

        说起字符串处理效率,一般都认为使用正则速度慢。其实,完全是想当然的结果。因为,这些说法是没有经过实际检测的想当然。

        要想使得PHP快速处理字符串。必须要使用的函数中,正则表达式函数是必不可少的。我们推荐,尽可能使用以下函数,以保证程序效率:

preg_match_all

preg_replace

preg_split
strtok
explode

        使用这六个函数,可使字串处理出奇高效,特别是对于长文本处理。那么,为什么有人说正则表达式速度慢呢?

        原因不外乎有以下几种:

        第一、str_replace能完成的,使用preg_replace

        第二、在for循环中使用preg_replace,则是更加致命的。

        第三、能用preg_match_all的却只用preg_match,并在for循环中使用。

        不用多举了。这样的实例太多了。

        所以,我们需要注意的是:能preg_match_all,就绝对不在for循环中使用preg_match,能用preg_split则绝不使用explode,当然,能用strtok,我们也不用preg_split。

        由此,就看你正则表达式的功底,以及对字串函数掌握的程度了。

 

        对于数组也一样,array_filter效率相当低下,但如果preg_grep速度则是非常地快。

0
3
分享到:
评论

相关推荐

    C#字符串和正则表达式参考手册

    学习和熟练掌握C#中的字符串和正则表达式,能够极大地提升你在处理文本数据时的效率和灵活性。在实际开发中,结合`StringBuilder`类处理大量字符串拼接,以及利用正则表达式的强大功能进行数据验证和清洗,都将使你...

    [转]正则表达式的妙用--获得数组

    正则表达式是一种强大的文本处理工具,常用于字符串匹配、搜索和替换操作。在编程中,正则表达式被广泛应用于数据验证、文本提取、数据分析等多个领域。标题提到的“正则表达式的妙用--获得数组”,这通常指的是通过...

    正则表达式截取字符串的方法技巧

    例如,创建了一个名为`ReturnIDAndName`的方法,它接收一个字符串参数,并使用正则表达式将字符串中的ID和名称分别提取出来,存储在一个字符串数组中。这适用于那些需要将数据结构化的场景,比如将表单数据存储到...

    PHP 笔记001 - 字符串、正则表达式

    - `preg_split`:使用正则表达式将字符串分割到数组中。 正则表达式的语法是专门的,需要掌握特殊字符、量词、字符类等构造。在使用正则表达式时,开发者需要构建一个适当的模式(Pattern),它定义了需要匹配的...

    C#字符串和正则表达式参考手册.rar

    - **分割**:`Split`方法根据正则表达式分割字符串,返回一个字符串数组。 正则表达式中的元字符和预定义字符类是其强大之处。比如,`.`代表任意字符,`\d`表示数字,`\w`表示字母、数字或下划线,`\s`表示空白字符...

    使用正则表达式匹配字符串数据PPT学习教案.pptx

    正则表达式虽然学习曲线较陡峭,但一旦掌握,就能高效处理各种字符串匹配问题,尤其在处理大量数据的文本分析和过滤时,其灵活性和效率是其他方法难以比拟的。因此,它是每个IT专业人士必备的技能之一。

    C正则表达式库

    1. **编译正则表达式**:调用`regcomp()`函数,传入正则表达式字符串、编译标志和一个指向`regex_t`结构体的指针。编译标志可以指定是否忽略大小写、启用多行模式等。 2. **执行匹配**:使用`regexec()`函数,传入...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册十:正则表达式

    掌握这些知识点后,你将能够灵活地使用正则表达式进行字符串处理,提高Web前端开发效率。通过不断练习和实践,你会发现正则表达式是解决许多复杂文本问题的有力工具。在头歌教学实践平台上,你可以找到更多关于...

    JavaScript 正则表达式与字符串查找方法

    在当今的web开发中,JavaScript作为前端编程的核心...在处理复杂的字符串查找任务时,熟练掌握并合理使用正则表达式将大大提升开发效率与代码的可读性。希望本文对您在JavaScript字符串操作方面能够有所启发与帮助。

    C# 正则表达式总结

    使用`new Regex(pattern)`创建Regex对象,其中`pattern`是正则表达式字符串。还可以通过指定 RegexOptions 枚举值,例如:`RegexOptions.IgnoreCase`实现不区分大小写的匹配。 四、正则表达式模式 1. 预定义字符类...

    PHP中一些可以替代正则表达式函数的字符串操作函数

    在处理字符串时,正则表达式提供了强大的模式匹配能力,但其执行效率并非在所有场景下都是最优的。在对字符串进行简单的分割、搜索或替换操作时,使用专门的字符串操作函数可以大幅提升处理速度。本文将详细介绍PHP...

    C# 正则表达式大全

    4. `Split`方法:根据正则表达式分割字符串,返回字符串数组。 5. `IsMatch`方法:判断输入字符串是否符合指定的正则表达式模式。 四、实例应用 例如,我们想验证一个字符串是否为有效的邮箱地址,可以使用以下...

    易语言模块彗星正则表达式类.rar

    3. **查找函数**:在字符串中查找所有符合正则表达式的位置,返回匹配结果的数组。 4. **替换函数**:将字符串中符合正则表达式的部分替换为指定的字符串。 5. **分组函数**:如果正则表达式中有捕获组,该函数...

    正则表达式转化为NFA

    通过将正则表达式转化为NFA,可以有效地进行字符串的匹配操作,提升文本搜索的效率。本文将基于给定的部分代码内容,深入探讨正则表达式到NFA转换的过程、关键步骤以及实现细节。 #### 正则表达式与NFA的关系 正则...

    易语言正则表达式对象

    3. `正则表达式提取`:从字符串中提取所有符合模式的部分,返回一个字符串数组。 4. `正则表达式分割`:根据模式将字符串分割成多个子串,返回一个字符串数组。 四、实例应用 例如,我们想要验证一个字符串是否为...

    正则表达式验证器(附源代码)

    5. `Split(string input, string pattern)`: 根据`pattern`拆分`input`字符串,返回一个字符串数组。 在“正则表达式验证器”项目中,源代码很可能是围绕这些方法构建的,提供了一个用户界面,允许用户输入正则...

    Java通过正则表达式获取字符串中数字的方法示例

    接下来,使用`split(" ")`按空格分割字符串,得到一个只包含数字的字符串数组`strArr`。 最后,遍历数组`strArr`,将每个字符串元素转换为整数`Integer.parseInt(s)`并输出。这将打印出原始字符串`strInput`中的...

    正则表达式精灵绿色板

    在JavaScript中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和提取字符串中的模式。它们是通过特殊的语法构建的,这个语法在各种编程语言中大体相同,但在JavaScript中有其特定的实现和特性。 1. *...

    传智播客_张孝祥_JavaScript7_正则表达式

    正则表达式(Regular Expression)是JavaScript中处理字符串的强大工具,它被广泛用于文本的查找、替换和验证等操作。"传智播客_张孝祥_JavaScript7_正则表达式"这个课程可能详细讲解了JavaScript中的正则表达式及其...

Global site tag (gtag.js) - Google Analytics