浅析Perl正则表达式在PHP的实现


  本文标签:Perl正则表达式

  Perl正则表达式在PHP的实现达成,我们要使用PCRE相关的正则表达式函数,那么具体的都有什么函数呢?这里我们向你介绍4个,希望对你有所帮助  。

  Perl正则表达式在PHP的实现所使用的函数介绍:

  1、preg_match :

  函数格式:

  1. 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 :

  函数格式:

  1. mixed preg_replace(mixed pattern, mixed replacement, mixed subject);  

  这个函数会使用将string中符合表达式pattern的字符串全部替换为表达式replacement  。如果replacement中需要包含pattern的部分字符,则可以使用"()"来记录,在replacement中只是需要用"\\1"来读取  。

  3、preg_split :

  函数格式:

  1. array preg_split(string pattern, string subject, int [limit]);  

  这个函数和函数split一样,区别仅在与split可以使用简单正则表达式来分割匹配的字符串,而preg_split使用完全的Perl兼容正则表达式  。第三个参数limit代表允许返回多少个符合条件的值  。

  4、preg_grep :

  函数格式:

  1. array preg_grep(string patern , array input);  

  这个函数和preg_match功能基本上,不过preg_grep可以将给定的数组input中的所有元素匹配,返回一个新的数组  。

  下面举一个例子,比如我们要检查Email地址的格式是否正确:

  Perl正则表达式在PHP的实现实例:

  1. function emailIsRight($email) {   
  2. if (preg_match("^[_\.0-9a-z  
  3. 0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) {   
  4. return 1;   
  5. }   
  6. return 0;   
  7. }   
  8. if(emailIsRight(\y10k@963.net\)) echo \正确
    \
    ;   
  9. if(!emailIsRight(\y10k@fffff\)) echo \不正确
    \
    ;   
  10. ?>  

  上面的程序会输出"正确
不正确"  。

  Perl正则表达式在PHP的实现相关内容就向你介绍到这里,希望对你了解和学习Perl正则表达式在PHP的实现有所帮助  。