php中的正则表示的使用

    不管是在是php中,还是在javascript中,正则表达式都是作为一个十分重要的角色存在着,今天我们来学习php中正则表达式的使用。其实正则表达式最最重要的使用就是两个方面,一个验证用户的信息是不是符合要求,另外一个就是字符串的截取。

    1.验证信息

    在php中验证信息主要的是使用ereg和eregi,这两个函数的区别就是后面一个是不区分大小写的,其他的都是一样,他们接受两个参数,这两个参数都是字符串,但是第一个是正则表达式,第二个是需要验证的字符。

     ereg(“([a-z])+”, $letters);它是返回匹配的字符的数,如果不匹配,就返回false,所以我们就能通过if语句来判断返回的结果,作为是不是符合要的信息。

  比如:

$email=”pant_ingwen@126.com“;

  if (ereg(“^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+”,$email)){    

                  echo “您的 E-Mail 通过初步检查<br/>”;

 }

 

2.截取字符串

       php中正则表达式另外一个很重要的用处就是截取字符串,通常我们都是需要从一个字符串里面截取一些信息,比如一段文本里面找出一个邮箱地址等等的。这时候主要使用都php的preg_match_all函数,这个函数的使用和ereg的差不多,只是这个返回的结果是数组,也就是匹配之后的结果字符串,preg_match_all(“([0-9]+)”,”sdsdsdsd56565656dfdfdf”,$result);这样放回的结果就放在了$result里面了,但是我们要注意的这个是一个二维数组,我们获取里面数值需要使用$result[o][0]来获取。

preg_match_all(“([0-9]+)”,”sdsdsdsd56565656dfdfdf”,$result);

 echo “提出出来的数字是:”.$result[0][0];//结果显示就是:提出出来的数字是:56565656

 

本文演示代码:

   





//在php中a-z表示a到z的字母,A-Z表示A-Z的字母,0-9表示数字,^表示开始,$表示结束
//在php中的正则表达式的函数式

$number=123;
if(ereg("([0-9])+", $number)){
echo "这是一个数字
";
}

$letters="asdfghjk";
if(ereg("([a-z])+", $letters)){
echo "这是一些字母
";
}

$email="pant_ingwen@126.com";
if (ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+",$email)) {
echo "您的 E-Mail 通过初步检查
";
}

$letters2="aaaaaaaaaaaaaaaZZZZZZZZZZZZZZ";
if(eregi("([a-z])+", $letters2)){
echo "这是不区分大小写的字符串
";
}

//知道正则表达式的规则,我们就可以写出这些表达式
//比如QQ
$qq=980502568;
$qq2=0123;
if(ereg("[1-9][0-9]{4,10}", $qq2)){
echo "你的qq是正确的
";
}else{
echo "你的qq号码不正确
";
}

preg_match_all("([0-9]+)","sdsdsdsd56565656dfdfdf",$result);

echo "提出出来的数字是:".$result[0][0];
?>


演示地址:http://www.cangzhang.com/demo/952/expression.php

Top