CXX. Perl 兼容正则表达式函数
简介
本类函数中所使用的模式极其类似 Perl。表达式应被包含在定界符中,如斜线(/)。任何不是字母、数字或反斜线(\)的字符都可以作为定界符。如果作为定界符的字符必须被用在表达式本身中,则需要用反斜线转义。自 PHP 4.0.4 起,也可以使用 Perl 风格的 (),{},[] 和 <> 匹配定界符。详细解释见模式语法。
结束定界符的后面可以跟上不同的修正符以影响匹配方式。见模式修正符。
PHP 也支持 POSIX 扩展语法的正则表达式,见 POSIX 扩展正则表达式函数。
注意: 本扩展库保持有一个已编译的正则表达式的全局线程化缓存(最大 4096)。
警告
要留意到 PCRE 的一些局限。更多信息见 » http://www.pcre.org/pcre.txt。
需求
要编译本扩展模块无需外部库文件。
安装
自 PHP 4.2.0 起这些函数默认被激活。可以通过 --without-pcre-regex 禁用 PCRE 函数。如果不使用绑定的库的话,用 --with-pcre-regex=DIR 来指定 PCRE 库文件和头文件的路径。对早期版本必须在编译时用 --with-pcre-regex[=DIR] 才能使用这些函数。
PHP 的 Windows 版本已经内置该扩展模块的支持。无需加载任何附加扩展库即可使用这些函数。
运行时配置
本扩展模块在 php.ini 中未定义任何配置选项。
资源类型
本扩展模块未定义任何资源类型。
预定义常量
以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。
表226.PREG 常量
| 常量 | 说明 |
|---|---|
| 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()。 |
范例
目录
- 模式修正符 解说正则表达式模式中使用的修正符
- 模式语法 解说 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 用正则表达式分割字符串
add a note
User Contributed NotesPerl 兼容正则表达式函数
There are no user contributed notes for this page.

pcntl_wtermsig