BlaBla.cn

PHP: POSIX Regex - Manual

BlaBla.cn
ereg_replace > <posix_uname
Last updated: Wed, 19 Mar 2008

POSIX 扩展正则表达式函数

简介

Tip

PHP 也支持使用 Perl 兼容语法的 PCRE 函数,支持 non-greedy 匹配,断言,条件子模式以及其它许多 POSIX 扩展正则表达式语法所不支持的特性。

Warning

本类正则表达式并不能安全用于二进制模式。 PCRE 函数则可以。

正则表达式在 PHP 中用来做复杂的字符串操作。PHP 使用 POSIX 扩展的正则表达式,其由 POSIX 1003.2 定义。对于 POSIX 正则表达式完整的说明见 » regex 手册页,位于 PHP 发布包中的 regex 目录下。这是 UNIX 下的手册格式,需要用类似如下命令 man /usr/local/src/regex/regex.7 来阅读。

需求

要编译本扩展模块无需外部库文件。

安装

Warning

除非知道自己在做什么,否则不要改变 TYPE。

要激活 regexp 的支持在配置 PHP 时加上 --with-regex[=TYPE]。TYPE 可以是 system,apache 或 php 之一。默认使用 php。

PHP 的 Windows 版本已经内置该扩展模块的支持。无需加载任何附加扩展库即可使用这些函数。

运行时配置

本扩展模块在 php.ini 中未定义任何配置选项。

资源类型

本扩展模块未定义任何资源类型。

预定义常量

本扩展模块未定义任何常量。

范例

Example#1 正则表达式例子

<?php
// 如果在 $string 中任何地方找到 "abc" 则返回 &true;
ereg  ( "abc" $string );

// 如果 $string 以 "abc" 开头则返回 &true;
ereg  ( "^abc" $string );

// 如果 $string 以 "abc" 结尾则返回 &true;
ereg  ( "abc$" $string );

// 如果用户浏览器是 Netscape 2,3 或 MSIE 3 则返回 &true;
eregi  ( "(ozilla.[23]|MSIE.3)" $HTTP_USER_AGENT );

// 将三个空格分隔的单词放入 $regs[1],$regs[2] 和 $regs[3] 中
ereg  ( "([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)" $string , $regs );

// 将 <br /> 标记放到 $string 开头
$string  ereg_replace  ( "^" "<br />" $string );

// 将 <br /> 标记放到 $string 结尾
$string  ereg_replace  ( "$" "<br />" $string );

// 删除 $string 中的所有换行符
$string  ereg_replace  ( "\n" "" $string );
?>

参见

Perl 兼容语法的正则表达式见 PCRE 函数。简单的命令行解释器风格的通配符匹配由 fnmatch() 提供。

Table of Contents

  • ereg_replace — 正则表达式替换
  • ereg — 正则表达式匹配
  • eregi_replace — 不区分大小写的正则表达式替换
  • eregi — 不区分大小写的正则表达式匹配
  • split — 用正则表达式将字符串分割到数组中
  • spliti — 用正则表达式不区分大小写将字符串分割到数组中
  • sql_regcase — 产生用于不区分大小的匹配的正则表达式


ereg_replace > <posix_uname
Last updated: Wed, 19 Mar 2008
 

 
BlaBla.cn

© 2005-2008 BlaBla.cn 版权所有