不管是在是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);
本文演示代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php //在php中a-z表示a到z的字母,A-Z表示A-Z的字母,0-9表示数字,^表示开始,$表示结束 //在php中的正则表达式的函数式 $number=123; if(ereg("([0-9])+", $number)){ echo "这是一个数字<br/>"; } $letters="asdfghjk"; if(ereg("([a-z])+", $letters)){ echo "这是一些字母<br/>"; } $email="pant_ingwen@126.com"; if (ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+",$email)) { echo "您的 E-Mail 通过初步检查<br/>"; } $letters2="aaaaaaaaaaaaaaaZZZZZZZZZZZZZZ"; if(eregi("([a-z])+", $letters2)){ echo "这是不区分大小写的字符串<br/>"; } //知道正则表达式的规则,我们就可以写出这些表达式 //比如QQ $qq=980502568; $qq2=0123; if(ereg("[1-9][0-9]{4,10}", $qq2)){ echo "你的qq是正确的<br/>"; }else{ echo "你的qq号码不正确<br/>"; } preg_match_all("([0-9]+)","sdsdsdsd56565656dfdfdf",$result); echo "提出出来的数字是:".$result[0][0]; ?> </body> </html>
查看更多关于php中的正则表示的使用基础教程的详细内容...