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

mac2022-06-30  189

    正则表达式(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/>

转载于:https://www.cnblogs.com/ChandlerVer5/p/php_regex.html

相关资源:JAVA上百实例源码以及开源项目

最新回复(0)