热门关键字:  PHP  Cisco  seo  网络广告 虚拟主机 中文域名
当前位置 :| 主页>编程开发>PHP>常用函数>

如何在 PHP 中使用正则表达式

来源:IBM 作者: 时间:2006-03-25 点击:

POSIX 匹配

有两个使用 POSIX 正则表达式搜索字符串的函数,即 ereg()eregi()

ereg()

ereg() 方法为特定正则表达式搜索字符串。如果未找到任何匹配项,则返回 0,因此您可以给出如下测试:


清单 1. ereg() 方法



<?php
$phonenbr="555-555-5555";
// Syntax is ereg( regex, string [, out_captures_array])
if (ereg("[-[:digit:]]{12}", $phonenbr)) {
    print("Found match!\n");
} else {
    print("No match found!\n");
}
?>

正则表达式 [-[:digit:]]{12} 查找 12 个为数字或连字符的字符。就处理电话号码而言,这有些粗略,您也可将其改写成这样的形式:^[0-9]{3}-[0-9]{3}-[0-9]{4}$。(在 regex 中,[0-9][:digit:] 实际上是完全相同的,您可能更愿意使用 [0-9] 的形式,因为它更短些。)这种作为替代方案的表达式显然更为精确。它会查找行的开头(^),后接一组 3 个数字([0-9]{3})、一个连字符(-)、另外一组 3 个数字、另外一个连字符、一组 4 个数字,然后是行的结尾($)。当您手工编写表达式时,这会使您了解到正则表达式要处理的问题的复杂程度如何,从而有助于预测出使用表达式搜索或替换的数据类型。

eregi()

eregi() 方法类似于 ereg(),不同之处在于它对大小写不敏感。它将返回一个包含所找到的匹配项长度的整数,但您很可能会将其用于条件语句中,如下所示:


清单 2. eregi() 方法



<?php
$str="Hello World!";
// Syntax is ereg( regex, string [, out_captures_array])
if (eregi("hello", $str)) {
    print("Found match!\n");
} else {
    print("No match found!\n");
}
?>

执行此示例时,将输出 Found match!,这是因为在忽略大小写的搜索中找到了 hello。如果您使用的是 ereg,搜索将失败。


上一篇:通用控件校验函数
下一篇:没有了
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
赞助商连接