zoukankan      html  css  js  c++  java
  • 解析posix与perl标准的正则表达式区别 ---PHP

        正则表达式(Regular Expression,缩写为regexp,regex或regxp),又称正规表达式、正规表示式或常规表达式或正规化表示法或正规表示法,是指一个用 来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本 内容。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的在正则表达式引擎。正则表达式这个概念最初是由 Unix中的工具软件(例如sed和grep)普及开的。(摘自维基百科)

        PHP同时使用两套正则表达式规则,一套是由电气和电子工程师 协会(IEEE)制定的POSIX Extended 1003.2兼容正则(事实上PHP对此标准的支持并不完善),另一套来自PCRE(Perl Compatible Regular Expression)库提供PERL兼容正则,这是个开放源代码的软件,作者为 Philip Hazel。

    推荐使用PCRE(Perl Compatible Regular Expression)库提供PERL兼容正则,比POSIX更高效。

    快速学习:PHP正则表达式的快速学习方法   POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比    正则表达式速查表

    使用POSIX兼容规则的函数有:
    ereg_replace()
    ereg()
    eregi()
    eregi_replace()
    split()
    spliti()
    sql_regcase()
    mb_ereg_match()
    mb_ereg_replace()
    mb_ereg_search_getpos()
    mb_ereg_search_getregs()
    mb_ereg_search_init()
    mb_ereg_search_pos()
    mb_ereg_search_regs()
    mb_ereg_search_setpos()
    mb_ereg_search()
    mb_ereg()
    mb_eregi_replace()
    mb_eregi()
    mb_regex_encoding()
    mb_regex_set_options()
    mb_split()

    使用PERL兼容规则的函数有:
    preg_grep()
    preg_replace_callback()
    preg_match_all()
    preg_match()
    preg_quote()
    preg_split()
    preg_replace()

    <参考:http://php.net/manual/zh/intro.pcre.php & http://www.jb51.net/article/38630.htm & http://www.css119.com/book/RegExp/>

    没有人告诉你,生活会是这样:你工作无趣,你袋里没钱,你的爱情总是昙花一现;妈妈警告过你,会有这样的日子但她没有告诉你,世界将让你屈服。但是,别怕,有我在你身边,谁让我们是friends呢……
  • 相关阅读:
    Linux与Windows命令的比较
    操作系统的启动过程
    Spyder快捷键
    pytoch的最佳打开方式
    操作系统逻辑结构
    插值法
    bzoj3509[CodeChef]COUNTARI
    bzoj2969 矩形粉刷
    hdu5575 Discover Water Tank
    bzoj3473字符串&bzoj3277串
  • 原文地址:https://www.cnblogs.com/ChandlerVer5/p/php_regex.html
Copyright © 2011-2022 走看看