首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 正則表達式深度解析:從入門到精通

     編輯:PHP 相關知識

什麼是正則表達式

正則表達式描述字串匹配模式,可用於驗證、替換、擷取子串。由一般字元與元字元組成,廣泛應用於 *nix、PHP、Java、C# 等環境。

核心語法速查

定位符

  • ^ 字串開頭(多行模式下匹配行首)
  • $ 字串結尾(多行模式下匹配行尾)
  • \b 單字邊界,\B 非單字邊界

限定符(貪婪 vs 非貪婪)

符號說明等價
*0 次或多次{0,}
+1 次或多次{1,}
?0 次或 1 次{0,1}
{n}確切 n 次—
{n,}至少 n 次—
{n,m}n 到 m 次—

在限定符後加 ? 切換為非貪婪模式(如 *?、+?)。

字元類別與預定義類別

  • [a-z] 範圍,[^a-z] 排除
  • \d 數字 [0-9],\D 非數字
  • \w 單字字元 [A-Za-z0-9_],\W 非單字
  • \s 空白字元,\S 非空白
  • POSIX 類別:[[:alpha:]]、[[:digit:]]、[[:space:]] 等

分組、選擇與前瞻

  • (pattern) 捕獲分組,(?:pattern) 非捕獲
  • (?=pattern) 正向前瞻,(?!pattern) 負向前瞻
  • | 選擇分支
  • \n 反向引用(n 為分組編號)

實用範例

  • Email:/^[\w.-]+@[\w-]+(\.\w+)+$/
  • URL 解析:/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
  • 章節定位:/^(?:Chapter|Section) [1-9][0-9]{0,1}$/
  • 重複單字:/\b(\w+)\s+\1\b/gi

優先級順序

  1. \ 轉義
  2. () (?:) (?=) [] 括號
  3. * + ? {n} {n,} {n,m} 限定符
  4. ^ $ \元字元 定位與順序
  5. | 選擇
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved