選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

PHP 教程

PHP HOME PHP 簡介 PHP 安裝 PHP 語法 PHP 註釋 PHP 變數 PHP Echo / Print PHP 資料型別 PHP 字串 PHP 數字 PHP 型別轉換 PHP 數學 PHP 常量 PHP 魔術常量 PHP 運算子 PHP If...Else...Elseif PHP Switch PHP 迴圈 PHP 函式 PHP 陣列 PHP 超全域性變數 PHP 正則表示式

PHP 表單

PHP 表單處理 PHP 表單驗證 PHP 表單必填項 PHP 表單 URL/電子郵件 PHP 表單完成

PHP 高階

PHP 日期和時間 PHP Include PHP 檔案處理 PHP 檔案開啟/讀取 PHP 檔案建立/寫入 PHP 檔案上傳 PHP Cookies PHP Sessions PHP 過濾器 PHP 高階過濾器 PHP 回撥函式 PHP JSON PHP 異常

PHP OOP

PHP 什麼是 OOP PHP 類/物件 PHP 建構函式 PHP 解構函式 PHP 訪問修飾符 PHP 繼承 PHP 常量 PHP 抽象類 PHP 介面 PHP Trait PHP 靜態方法 PHP 靜態屬性 PHP 名稱空間 PHP 可迭代物件

MySQL 資料庫

MySQL 資料庫 MySQL 連線 MySQL 建立資料庫 MySQL 建立表 MySQL 插入資料 MySQL 獲取最後 ID MySQL 插入多條資料 MySQL 預處理 MySQL 查詢資料 MySQL Where MySQL Order By MySQL 刪除資料 MySQL 更新資料 MySQL 限制資料

PHP XML

PHP XML 解析器 PHP SimpleXML 解析器 PHP SimpleXML - 獲取 PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX 簡介 AJAX PHP AJAX 資料庫 AJAX XML AJAX 即時搜尋 AJAX 投票

PHP 示例

PHP 示例 PHP 編譯器 PHP 測驗 PHP 練習 PHP 伺服器 PHP 證書

PHP 參考手冊

PHP 概述 PHP 陣列 PHP 日曆 PHP 日期 PHP 目錄 PHP 錯誤 PHP 異常 PHP 檔案系統 PHP 過濾器 PHP FTP PHP JSON PHP 關鍵詞 PHP Libxml PHP 郵件 PHP 數學 PHP 雜項 PHP MySQLi PHP 網路 PHP 輸出控制 PHP 正則表示式 PHP SimpleXML PHP Stream PHP String PHP 變數處理 PHP XML 解析器 PHP 壓縮 PHP 時區

PHP 正則表示式


什麼是正則表示式?

正則表示式是構成搜尋模式的字元序列。當你在一則文字中搜索資料時,你可以使用這個搜尋模式來描述你正在搜尋的內容。

正則表示式可以是一個單獨的字元,也可以是更復雜的模式。

正則表示式可用於執行所有型別的文字搜尋和文字替換操作。


語法

在 PHP 中,正則表示式是由分隔符、模式和可選的修飾符組成的字串。

$exp = "/w3schools/i";

在上面的示例中,/ 是 **分隔符**,w3schools 是正在搜尋的 **模式**,而 i 是一個 **修飾符**,它使搜尋不區分大小寫。

分隔符可以是任何不是字母、數字、反斜槓或空格的字元。最常用的分隔符是正斜槓(/),但當你的模式包含正斜槓時,選擇其他分隔符(如 # 或 ~)會更方便。


正則表示式函式

PHP 提供了多種允許你使用正則表示式的函式。

最常用的函式是

函式 描述
preg_match() 如果字串中找到該模式,則返回 1,否則返回 0
preg_match_all() 返回字串中找到該模式的次數,也可能為 0
preg_replace() 返回一個新字串,其中匹配的模式已被另一個字串替換

使用 preg_match()

preg_match() 函式會告訴你一個字串是否包含模式的匹配項。

示例

使用正則表示式對字串中的“w3schools”執行不區分大小寫的搜尋

$str = "Visit W3Schools";
$pattern = "/w3schools/i";
echo preg_match($pattern, $str);
自己動手試一試 »

使用 preg_match_all()

preg_match_all() 函式會告訴你字串中模式的匹配項數量。

示例

使用正則表示式對字串中“ain”的出現次數進行不區分大小寫的計數

$str = "The rain in SPAIN falls mainly on the plains.";
$pattern = "/ain/i";
echo preg_match_all($pattern, $str);
自己動手試一試 »

使用 preg_replace()

preg_replace() 函式會將字串中模式的所有匹配項替換為另一個字串。

示例

使用不區分大小寫的正則表示式將字串中的 Microsoft 替換為 W3Schools

$str = "Visit Microsoft!";
$pattern = "/microsoft/i";
echo preg_replace($pattern, "W3Schools", $str);
自己動手試一試 »


正則表示式修飾符

修飾符可以改變搜尋執行的方式。

修飾符 描述 試一試
i 執行不區分大小寫的搜尋 試一試 »
m 執行多行搜尋(搜尋字串開頭或結尾匹配項的模式現在將匹配*每行*的開頭或結尾) 試一試 »
u 啟用對 UTF-8 編碼模式的正確匹配

正則表示式模式

方括號用於查詢一組字元

表示式 描述 試一試
[abc] 匹配括號內的任何一個或多個字元 試一試 »
[^abc] 查詢括號外的任何字元 試一試 »
[a-z] 匹配兩個字母之間的任何字母 試一試 »
[A-z] 匹配指定大寫字母和指定小寫字母之間的任何字母 試一試 »
[A-Z] 匹配兩個大寫字母之間的任何字母。 試一試 »
[123] 匹配括號內的任何一個或多個數字 試一試 »
[0-5] 匹配兩個數字之間的任何數字 試一試 »
[0-9] 匹配任何數字 試一試 »

元字元

元字元是具有特殊含義的字元

元字元 描述 試一試
| 匹配由 | 分隔的任何一個模式,例如:cat|dog|fish 試一試 »
. 匹配任何字元 試一試 »
^ 匹配字串的開頭,例如:^Hello 試一試 »
$ 匹配字串的結尾,例如:World$ 試一試 »
\d 匹配任何數字 試一試 »
\D 匹配任何非數字 試一試 »
\s 匹配任何空白字元 試一試 »
\S 匹配任何非空白字元 試一試 »
\w 匹配任何字母(a 到 Z)和數字(0 到 9) 試一試 »
\W 匹配任何非字母和非數字字元 試一試 »
\b 匹配單詞的開頭,例如:\bWORD,或單詞的結尾,例如:WORD\b 試一試 »
\uxxxx 匹配十六進位制數字 xxxx 指定的 Unicode 字元 試一試 »

量詞

量詞定義數量

量詞 描述 試一試
n+ 匹配包含至少一個 n 的任何字串 試一試 »
n* 匹配包含零個或多個 n 的任何字串
n? 匹配包含零個或一個 n 的任何字串
n{3} 匹配包含 3n 序列的任何字串 試一試 »
n{2, 5} 匹配包含至少 2 個但不多於 5 個 n 序列的任何字串 試一試 »
n{3,} 匹配包含至少 3 個 n 序列的任何字串 試一試 »

注意:如果你的表示式需要搜尋一個特殊字元,你可以使用反斜槓( \ )來轉義它們。例如,要搜尋一個或多個問號,你可以使用以下表達式:$pattern = '/\?+/';


分組

你可以使用括號 ( ) 將量詞應用於整個模式。它們也可用於選擇模式的一部分作為匹配項。

示例

使用分組搜尋單詞“banana”,方法是查詢ba後跟兩個na的例項

$str = "Apples and bananas.";
$pattern = "/ba(na){2}/i";
echo preg_match($pattern, $str);
自己動手試一試 »

完整 RegExp 參考

如需完整參考,請訪問我們的 完整 PHP 正則表示式參考

該參考包含所有正則表示式函式的描述和示例。



×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援