Chinaunix

标题: PHP Perl 兼容正则表达式 概述 [打印本页]

作者: webvista    时间: 2006-12-06 18:58
标题: PHP Perl 兼容正则表达式 概述
来自PHP手册(2006-08-14版)
PHP 支持 POSIX 和 Perl 扩展语法的正则表达式
PHP中Perl正则比POSIX正则的函数功能强大,所以建议直接使用PERL正则
Perl 兼容正则表达式函数中所使用的模式极其类似
Perl。表达式应被包含在定界符中,如斜线(/)。任何不是字母、数字或反斜线(\)的字符都可以作为定界符。如果作为定界符的字符必须被用在表达式本身中,则需要用反斜线转义。自
PHP 4.0.4 起,也可以使用 Perl 风格的 (),{},[] 和  匹配定界符
要编译本扩展模块无需外部库文件。
本扩展模块在 php.ini 中未定义任何配置选项。
PHP 4.2.0 起这些函数默认被激活。
本扩展库保持有一个已编译的正则表达式的全局线程化缓存(最大 4096)。
目录
模式修正符 - 解说正则表达式模式中使用的修正符
模式语法
- 解说 Perl 兼容正则表达式的语法
preg_grep -
返回与模式匹配的数组单元
preg_last_error - Returns the error code of the last PCRE regex
execution
preg_match_all - 进行全局正则表达式匹配
preg_match -
进行正则表达式匹配
preg_quote -
转义正则表达式字符
preg_replace_callback - 用回调函数执行正则表达式的搜索和替换
preg_replace
- 执行正则表达式的搜索和替换
preg_split -
用正则表达式分割字符串
预定义常量
以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。
常量
说明
PREG_PATTERN_ORDER
对结果排序使得 $matches[0] 为整个模式的匹配结果的数组,$matches[1]
为第一个括号内的子模式所匹配的字符串的数组,等等。本标记仅用于
preg_match_all()

PREG_SET_ORDER
对结果排序使得 $matches[0] 为第一组匹配结果的数组,$matches[1] 为第二组匹配结果的数组,等等。本标记仅用于
preg_match_all()

PREG_OFFSET_CAPTURE
见 PREG_SPLIT_OFFSET_CAPTURE 的说明。本标记自 PHP 4.3.0
起可用。
PREG_SPLIT_NO_EMPTY
本标记使
preg_split()
仅返回非空的结果。
PREG_SPLIT_DELIM_CAPTURE
本标记使
preg_split()
也捕获定界符模式中的括号表达。本标记自 PHP 4.0.5 起可用。
PREG_SPLIT_OFFSET_CAPTURE
如果设定本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量。注意这改变了返回的数组的值,使其中的每个单元也是一个数组,其中第一项为匹配字符串,第二项为其偏移量。本标记自
PHP 4.3.0 起可用且仅用于
preg_split()



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17173/showart_211257.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2