Perl正则表达式在PHP的实现达成,我们要使用PCRE相关的正则表达式函数,那么具体的都有什么函数呢?这里我们向你介绍4个,希望对你有所帮助。
Perl正则表达式在PHP的实现所使用的函数介绍:
1、preg_match :
函数格式:
int preg_match(string pattern, string subject, array [matches]);
- 1.
这个函数会在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);
- 1.
这个函数会使用将string中符合表达式pattern的字符串全部替换为表达式replacement。如果replacement中需要包含pattern的部分字符,则可以使用"()"来记录,在replacement中只是需要用"\\1"来读取。
3、preg_split :
函数格式:
array preg_split(string pattern, string subject, int [limit]);
- 1.
这个函数和函数split一样,区别仅在与split可以使用简单正则表达式来分割匹配的字符串,而preg_split使用完全的Perl兼容正则表达式。第三个参数limit代表允许返回多少个符合条件的值。
4、preg_grep :
函数格式:
array preg_grep(string patern , array input);
- 1.
这个函数和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>\';
?>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
上面的程序会输出"正确<br>不正确"。
Perl正则表达式在PHP的实现相关内容就向你介绍到这里,希望对你了解和学习Perl正则表达式在PHP的实现有所帮助。
【编辑推荐】