正規表示式

2022-05-07 15:24:10 字數 2749 閱讀 3529

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正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...