今天就跟大家聊聊有关PHP中如何使用Perl正则表达式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
Perl正则表达式在PHP的实现所使用的函数介绍:
1、preg_match :
函数格式:
int preg_match(string pattern, string subject, array [matches]);
这个函数会在string中使用pattern表达式来匹配,如果给定了[regs],就会将string记录到[regs][0]中,[regs][1]代表使用括号"()"记录下来的***个字符串,[regs][2]代表记录下来的第二个字符串,以此类推。preg如果在string中找到了匹配的pattern,就会返回"true",否则返回"false"。
2、preg_replace :
函数格式:
mixed preg_replace(mixed pattern, mixed replacement, mixed subject);
这个函数会使用将string中符合表达式pattern的字符串全部替换为表达式replacement。如果replacement中需要包含pattern的部分字符,则可以使用"()"来记录,在replacement中只是需要用"\\1"来读取。
3、preg_split :
函数格式:
array preg_split(string pattern, string subject, int [limit]);
这个函数和函数split一样,区别仅在与split可以使用简单正则表达式来分割匹配的字符串,而preg_split使用完全的Perl兼容正则表达式。第三个参数limit代表允许返回多少个符合条件的值。
4、preg_grep :
函数格式:
array preg_grep(string patern , array input);
这个函数和preg_match功能基本上,不过preg_grep可以将给定的数组input中的所有元素匹配,返回一个新的数组。
下面举一个例子,比如我们要检查Email地址的格式是否正确:
Perl正则表达式在PHP的实现实例:
<?php function emailIsRight($email) { if (preg_match("^[_\.0-9a-z 0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) { return 1; } return 0; } if(emailIsRight(\'y10k@963.net\')) echo \'正确<br>\'; if(!emailIsRight(\'y10k@fffff\')) echo \'不正确<br>\'; ?>
看完上述内容,你们对PHP中如何使用Perl正则表达式有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。