Heim  >  Artikel  >  类库下载  >  【夯实PHP系列】PHP正则表达式

【夯实PHP系列】PHP正则表达式

高洛峰
高洛峰Original
2016-10-09 11:48:071131Durchsuche

【夯实PHP系列】PHP正则表达式

一、 概述

1. 正则表达式的测试地址: http://tool.chinaz.com/regex/

 

二、具体的常用正则表达式

1. 邮箱正则表达式: 
  1)\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}
  2)\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
  3)解析:

    -- "\"      叫"跳脱字符"。用于转义一些特殊符号,如".","/"

    -- "\w"    等价于 [a-zA-Z0-9_] 。也匹配汉字

    -- "+"      1到多次还可以写成{1,}

    -- 小括号  来指定子表达式(也叫做分组),然后你就可以指定这个子表达式的重复次数了, ([-+.]\w+)*

    -- [-+.]    方括号扩起来的部分就是字符域

    -- .          匹配除换行符以外的任意字符

  4)代码示例

<?php
  $email = &#39;sishuinianhua@qq.com&#39;;
  $preg = &#39;/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/&#39;;
  $res = preg_match($preg, $email, $preg_res);
  var_dump(111,$res,$preg_res);exit;

 -- preg_match() : http://php.net/manual/zh/function.preg-match.php

2. 网址表达式:

  1) [a-zA-z]+://[^\s]+ 

  2)解析:

    -- ^   

      > 放在字符域(如:[^\w])中表示否定(不包括的意思)——“反向选择”

           >  放在表达式之前,表示以当前这个字符开始。(/^n/i,表示以n开头)。

 

    -- \s   匹配任意的空白符

 

三、 附录

1. 常用元字符
代码    说明
.    匹配除换行符以外的任意字符
\w    匹配字母或数字或下划线
\s    匹配任意的空白符
\d    匹配数字
\b    匹配单词的开始或结束
^    匹配字符串的开始
$    匹配字符串的结束

 


2.常用限定符
代码/语法    说明
*    重复零次或更多次
+    重复一次或更多次
?    重复零次或一次
{n}    重复n次
{n,}    重复n次或更多次
{n,m}    重复n到m次

 


3.常用反义词
代码/语法    说明
\W    匹配任意不是字母,数字,下划线,汉字的字符
\S    匹配任意不是空白符的字符
\D    匹配任意非数字的字符
\B    匹配不是单词开头或结束的位置
[^x]    匹配除了x以外的任意字符
[^aeiou]    匹配除了aeiou这几个字母以外的任意字符


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

In Verbindung stehende Artikel

Mehr sehen