1.中括號:
可用來表達要匹配的一定範圍內的字元或字元列表。
[0~9] 匹配任何從0到9的十進位制數字
[a~z] 匹配任何從小寫a到z的字元
[a~z] 匹配任何從大寫a到z的字元
[a~za~z] 匹配任何從大寫a到小寫z的字元
2.量詞
p+: 匹配任何至少包含乙個p的字串
p*: 匹配任何包含零個或多個p的字串
p?: 匹配任何包含零個或乙個p的字串
p: 匹配任何包含兩個連續p的字串
p: 匹配任何包含兩個或三個連續p的字串
p: 匹配任何至少包含兩個連續p的字串
p$: 匹配任何以p結尾的字串
^p 匹配任何以p開頭的字串
[^a-za-z]:匹配任何不包含a-z和從a-z字元的字串
p.p 匹配任何包含字元p、接下來是任何字元、再接下來又是p的字串
^.$: 匹配任何只包含兩個字元的字串
(.*)匹配任何被和包圍的字串
p(hp)* 匹配任何包含乙個p,p後面是零個或多個hp的字串
([\$](0-9)+) 匹配$42、$560、$3
3. 預定義字元範圍(字元類)
[:alpha:] : 小寫和大寫字母字元。也可以指定為[a-za-z]
[:alnum:] 小寫和大寫字母字元以及數字。也可以指定為[a-za-z0-9]
[:cntrl:] 控制字元,如製表符、退格符或反斜線
[:digit:] 0-9的數字。也可以指定[0-9]
[:graph:] ascii 33-126範圍內的可列印字元
[:lower:] 小寫字母字元,也可以指定為[a-z]
[:punct:] 標點符號字元,包括:~、!@#$%^&*()-_+={}:';<>,.?/
[:upper:] 大寫字母字元。也可以指定為[a-z]
[:space:] 空白字元,包括空格、水平製表符、垂直製表符、換行、換頁、或回車
[:xdigit:] 十六進製制字元,也可以指定為[a-fa-f0-9]
一、 概述
二、具體的常用正規表示式
1. 郵箱正規表示式:
1)\w[-\w.+]*@([a-za-z0-9][-a-za-z0-9]+\.)+[a-za-z]
2)\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
3)解析:
--"\"叫"跳脫字元"。用於轉義一些特殊符號,如".","/"
-- "\w" 等價於 [a-za-z0-9_] 。也匹配漢字
-- "+" 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() :
1) [a-za-z]+://[^\s]+
2)解析:
> 放在字元域(如:[^\w])中表示否定(不包括的意思)——「反向選擇」
> 放在表示式之前,表示以當前這個字元開始。(/^n/i,表示以n開頭)。
-- \s 匹配任意的空白符
三、 附錄
1. 常用元字元
** 說明
. 匹配除換行符以外的任意字元
\w 匹配字母或數字或下劃線
\s 匹配任意的空白符
\d 匹配數字
\b 匹配單詞的開始或結束
^ 匹配字串的開始
$ 匹配字串的結束
2.常用限定符
**/語法 說明
* 重複零次或更多次
+ 重複一次或更多次
? 重複零次或一次
重複n次
重複n次或更多次
重複n到m次
3.常用反義詞
**/語法 說明
\w 匹配任意不是字母,數字,下劃線,漢字的字元
\s 匹配任意不是空白符的字元
\d 匹配任意非數字的字元
\b 匹配不是單詞開頭或結束的位置
[^x] 匹配除了x以外的任意字元
[^aeiou] 匹配除了aeiou這幾個字母以外的任意字元
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...