`

【面试题】请对 POSIX 风格和兼容 Perl 风格两种正则表达式的主要函数进行类比说明

阅读更多
POSIXF风格的正则表达式主要函数有
           ereg 函数:(正则表达式匹配)
           ereg_replace 函数:(正则表达式替换)

Perl风格的正则表达式主要函数有
           preg_match 函数:(进行正则表达式匹配)
     preg_replace  函数:(执行正则表达式的搜索和替换)

 

int ereg ( string $pattern , string $string [, array &$regs ] )
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

Note: 使用 Perl 兼容正则表达式语法的 preg_match() 函数通常是比 ereg() 更快的替代方案。

pattern:要搜索的模式,字符串类型。

subject:输入字符串。

matches:如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本,$matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。

返回值

preg_match()返回 pattern 的匹配次数。 它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后 将会停止搜索。
preg_match_all()不同于此,它会一直搜索subject 直到到达结尾。 如果发生错误preg_match()返回FALSE。

 

string ereg_replace ( string $pattern , string $replacement , string $string )
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

Tip:preg_replace() 函数使用了 Perl 兼容正则表达式语法,通常是比 ereg_replace() 更快的替代方案。

搜索subject中匹配pattern的部分, 以replacement进行替换。

pattern:

要搜索的模式。可以使一个字符串或字符串数组。

replacement:

用于替换的字符串或字符串数组。如果这个参数是一个字符串,并且pattern 是一个数组,那么所有的模式都使用这个字符串进行替换。如果pattern和replacement 都是数组,每个pattern使用replacement中对应的 元素进行替换。如果replacement中的元素比pattern中的少, 多出来的pattern使用空字符串进行替换。

subject:

要进行搜索和替换的字符串或字符串数组。

limit

每个模式在每个subject上进行替换的最大次数。默认是 -1(无限)。

count

如果指定,将会被填充为完成的替换次数。

返回值

如果subject是一个数组, preg_replace()返回一个数组, 其他情况下返回一个字符串。

如果匹配被查找到,替换后的subject被返回,其他情况下 返回没有改变的 subject。如果发生错误,返回 NULL。

ereg_replace() 将把数字作为字符的序列值来解释并应用之

 

1
0
分享到:
评论

相关推荐

    Oracle正则表达式函数全面解析

    本文将详细介绍Oracle数据库中支持的四个主要正则表达式函数:`REGEXP_LIKE`、`REGEXP_INSTR`、`REGEXP_SUBSTR`和`REGEXP_REPLACE`,以及如何使用POSIX正则表达式。 #### 二、Oracle正则表达式基础 ##### 1. POSIX...

    Oracle数据库正则表达式

    从 Oracle 10g 开始,Oracle 内建了符合 IEEE POSIX (Portable Operating System for Unix)标准的正则表达式,同时也支持 Perl 的正则表达式规则。 正则表达式的组成 ----------------- 正则表达式由一个或多个...

    关于正则表达式的应用(正则表达式)

    在PHP中,有两种主要的正则表达式实现:POSIX和Perl兼容的正则表达式(PCRE)。PHP 3.0.9之后的版本开始支持PCRE,但如果你的PHP版本较低,可能需要关注POSIX的模式匹配函数或者升级PHP版本。 正则表达式的基本元素...

    PostgreSQL 正则表达式 常用函数的总结

    正则表达式是处理字符串模式匹配的强大工具,PostgreSQL对正则表达式的处理能力允许用户在数据库层面对字符串进行复杂的搜索和修改。本篇总结将介绍PostgreSQL中与正则表达式相关的常用函数,这些函数可以帮助数据库...

    php正则表达式.txt

    在PHP中,正则表达式的实现基于Perl兼容正则表达式(PCRE),这是一种功能强大且灵活的正则表达式引擎,支持复杂的匹配规则和语法。 ### 正则表达式的类型 在PHP中,主要支持两种类型的正则表达式: 1. **Perl5...

    解析posix与perl标准的正则表达式区别

    这里主要讨论的是POSIX(Portable Operating System Interface)标准与Perl标准的正则表达式差异。 POSIX正则表达式源于Unix系统中的工具,如sed和grep,它遵循IEEE制定的POSIX 1003.2标准。然而,PHP对POSIX正则...

    Oracle正则表达式详解(用法+实例)

    这些函数的使用方式类似于传统的 SQL 函数 `LIKE`、`INSTR`、`SUBSTR` 和 `REPLACE`,但采用了 POSIX 正则表达式而不是旧式的通配符 `%` 和 `_`。 ##### 1. `REGEXP_LIKE` - **功能**: 类似于 `LIKE` 函数,用于...

    Indesign_GREP正则表达式

    ### Indesign_GREP正则表达式详解 #### 1. GREP正则表达式概述 在Adobe InDesign软件中,GREP(Global Regular Expression Print)正则表达式的使用能够极大地提高文档编辑效率,特别是在处理大量文本时。通过精确...

    unix下的正则表达式

    在Unix系统中,正则表达式主要分为两种形式: 1. **基本正则表达式**(Basic Regular Expression, BRE):这是最早期的形式,主要用于传统的grep命令中。 2. **扩展正则表达式**(Extended Regular Expression, ERE...

    linux下的C语言POSIX正则表达式头文件和源文件: regex.h regex.cpp

    在Linux操作系统中,C语言编程时常常需要处理字符串匹配和模式查找的问题,这时POSIX(Portable Operating System Interface)正则表达式库就显得尤为重要。POSIX正则表达式是符合IEEE Std 1003.1标准的一套规则,它...

    PHP正则表达式基本语法和使用方法

    正则表达式(regular expression)是一种表示方式,最早在LINUX被当做一种搜索算法应用在编辑器中,后来被广泛应用,不仅PHP脚本支持正则表达式,Perl、C#、Java以及JavaScript和MySQL也对正则表达式支持。...

    正则表达式 电子书 教程 chm

    在不同编程语言中,正则表达式的实现可能会有差异,但大多数都遵循Perl风格或POSIX标准。例如,Python的`re`模块和JavaScript的`RegExp`对象提供了丰富的功能,支持正则表达式的编译、执行和调试。 CHM(Compiled ...

    精通正则表达式~~~

    对未知正则表达式进行语法检查... 475 递归的正则表达式... 475 匹配嵌套括号内的文本... 475 不能回溯到递归调用之内... 477 匹配一组嵌套的括号... 478 PHP效率... 478 模式修饰符S:“研究”. 478 扩展...

    精通正则表达式(第三版)中文

    本章深入探讨了不同模式语法的特点,如POSIX、Perl兼容正则表达式(PCRE)等,并对比了它们之间的差异。 #### 第二部分:应用篇 - **第4章:搜索与替换** 讲解如何使用正则表达式进行高效的搜索和替换操作。 - **...

    正则表达式AndMySQL参考文档chm

    例如,MySQL的`REGEXP`使用的是Perl兼容的正则表达式(PCRE),而某些其他数据库系统可能使用POSIX标准。理解这些差异对于编写跨平台的代码至关重要。 总之,正则表达式和MySQL都是IT专业人士不可或缺的工具。熟练...

    [小小明]Python正则表达式全套笔记v0.3(1.8万字干货)

    本文档适合对正则有一定基础了解的朋友系统性学习。初学者建议在学习本文档之前,先学习基本的正则知识,并且可以跳过正则匹配规则表部分,等学完后续部分之后再回来查看。 2 Python正则表达式 2.1 基本概念 正则...

    PHP和正则表达式的关系

    PHP提供了两种主要的正则表达式处理方式:Perl兼容正则表达式(PCRE)和POSIX标准兼容正则表达式。在本文中,我们将主要探讨POSIX标准的正则表达式函数,如`ereg`系列。 1. **PHP 和正则表达式**:PHP内置了对正则...

Global site tag (gtag.js) - Google Analytics