浅析Perl正则表达式在PHP的实现 - Go语言中文社区

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


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

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

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

版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://developer.51cto.com/art/200909/152091.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-16 10:57:15
  • 阅读 ( 709 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢