一、 概述
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 = '[email protected]'; $preg = '/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/'; $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這幾個字母以外的任意字符