PHP正則表達式匹配教程

一、什麼是正則表達式

正則表達式是一種用於搜索、匹配、替換某種文本的字符串模式,常用於處理文本數據、校驗輸入數據等。在PHP中,可以使用preg系列函數(preg_match、preg_replace等)處理正則表達式。

二、正則表達式語法

正則表達式語法包含了一些特定的字符和語法規則,常用的語法規則包括:

  • 字符匹配:使用單個字符匹配特定的字符,如字符a匹配輸入字符串中的字符a。
  • 字符集合:使用字符集合匹配一組字符,如[abc]匹配輸入字符串中的字符a、b、c。
  • 量詞:用於指定字符或字符集合出現的次數,如a{3}匹配aaa。
  • 選擇符:用於匹配多個可選的內容,如a|b匹配a或b。
  • 分組:用於對正則表達式的一部分進行分組,方便後續操作,如(a|b){3}匹配aaa、aab、aba等。
  • 反義:用於匹配除了指定字符或字符集合之外的內容,如[^abc]匹配輸入字符串中除了a、b、c之外的字符。

三、實例演示

1. 匹配手機號碼

$pattern = '/^1[3-9]\d{9}$/';
$mobile = '13912345678';
if(preg_match($pattern, $mobile)){
    echo '匹配成功';
}else{
    echo '匹配失敗';
}

說明:
該正則表達式使用了量詞和字符集合,匹配以1開頭,第二位為3-9的數字,後續跟9位數字的手機號碼。因為手機號碼格式較為固定,所以可以使用正則表達式進行校驗。

2. 替換HTML標籤

$pattern = '/]+>/';
$content = '

這是一段有着大標題的文本

'; $result = preg_replace($pattern, '', $content); echo $result;

說明:
該正則表達式使用了字符集合和量詞,匹配一段HTML標籤(以字符的內容,以>結尾)。在替換時,將匹配到的標籤替換成空字符,即刪除了所有HTML標籤。

3. 提取URL鏈接中的域名

$pattern = '/[a-zA-z]+:\/\/[^\s]*/';
$link = '這是一篇示例文章,請閱讀原文獲取更多信息。';
preg_match($pattern, $link, $matches);
$domain = parse_url($matches[0])['host'];
echo $domain;

說明:
該正則表達式使用了字符集合、量詞和分組,匹配一段URL鏈接(包括協議和域名,後續可能會有其他內容)。在獲取到匹配結果之後,使用parse_url函數解析出域名部分,即可獲取到該URL鏈接對應的域名。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/227782.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-09 16:32
下一篇 2024-12-09 21:21

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變量類型,而是在變量第一次賦值時自動識別該變量的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬盤。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python正則表達式search()和match()有什麼區別?

    search()和match()都是Python中的正則表達式函數,它們的作用都是在一個字符串中搜索匹配正則表達式的位置,但它們有着不同的使用場景和返回結果。 一、search()…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • Python煙花教程

    Python煙花代碼在近年來越來越受到人們的歡迎,因為它可以讓我們在終端里玩煙花,不僅具有視覺美感,還可以通過代碼實現動畫和音效。本教程將詳細介紹Python煙花代碼的實現原理和模…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29

發表回復

登錄後才能評論