首頁 後端開發 php教程 解析正規表示式中最短匹配模式

解析正規表示式中最短匹配模式

Sep 21, 2017 am 11:52 AM
匹配 表達式

最短匹配應用於:假如有一段文本,你只想匹配最短的可能,而不是最長。以下這篇文章主要為大家介紹了關於正規表示式中最短匹配模式用法的相關資料,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

最近有一次想用正規表示式從網頁裡面抓取一些東西出來,內容不複雜卻出現不少問題。下面話不多說,來一起看看詳細的介紹:

當我們用正規表示式去匹配一個標籤的首尾的時候,比如匹配<h1>hello world</h1> 中的h1 的開始和閉合標籤

可能很多人會這樣寫


/<.*h1>/g
登入後複製

但是這樣真的可以嗎?

因為 * 匹配是匹配前面一個字元的零到多個,而且它是貪婪匹配的

所以你得到的就會是下面的結果了。


顯然這不是我們想要的,那麼怎麼把貪婪匹配換成最小匹配呢,


/<.*?h1>/g
登入後複製

上面的寫法就可以了,如下圖:


#其實原理應該很簡單,因為? 也是貪婪匹配,只能匹配0到1個,

所以它會匹配到第一個的時候就結束了,從而阻止了* 的匹配多個的貪婪。

以上是解析正規表示式中最短匹配模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1272
29
C# 教程
1252
24
Go語言正規表示式實踐指南:如何匹配十六進位顏色代碼 Go語言正規表示式實踐指南:如何匹配十六進位顏色代碼 Jul 13, 2023 am 10:46 AM

Go語言正規表示式實踐指南:如何匹配十六進位顏色代碼引言:正規表示式是一種強大且靈活的工具,用於字串的模式匹配和查找。在Go語言中,我們可以使用內建的正規表示式套件regexp來實作這些操作。本文將介紹如何使用正規表示式在Go語言中匹配十六進位顏色代碼。導入正規表示式套件首先,我們需要導入Go語言的正規表示式套件regexp。可以在程式碼的開頭加入以下導入語句:i

PHP字串比對技巧:避免模糊包含表達式 PHP字串比對技巧:避免模糊包含表達式 Feb 29, 2024 am 08:06 AM

PHP字串比對技巧:避免模糊包含表達式在PHP開發中,字串比對是常見的任務,通常用於尋找特定的文字內容或驗證輸入的格式。然而,有時候我們需要避免使用模糊的包含表達式來確保匹配的準確性。本文將介紹一些在PHP中進行字串匹配時避免模糊包含表達式的技巧,並提供具體的程式碼範例。使用preg_match()函數進行精確比對在PHP中,可以使用preg_mat

PHP正規表示式實戰:匹配字母和數字 PHP正規表示式實戰:匹配字母和數字 Jun 22, 2023 pm 04:49 PM

PHP正規表示式實戰:匹配字母和數字正規表示式是一種用來匹配字串的工具,可以方便地實現字串的搜尋、替換、分割等操作。在PHP開發中,正規表示式也是非常有用的工具。本文將介紹如何使用PHP正規表示式來搭配字母和數字。匹配單一字符要匹配單個字符,可以使用正則表達式中的字符類。字符類別用方括號[]表示,其中的字符表示可以被匹配的字符,可以使用連字符-表示範圍

PHP正規表示式:精確匹配與排除模糊包含 PHP正規表示式:精確匹配與排除模糊包含 Feb 28, 2024 pm 01:03 PM

PHP正規表示式:精確匹配與排除模糊包含正規表示式是一種強大的文字匹配工具,能夠幫助程式設計師在處理文字時進行高效的搜尋、替換和篩選。在PHP中,正規表示式也被廣泛應用於字串處理和資料匹配。本文將重點介紹在PHP中如何進行精確配對和排除模糊包含的操作,同時結合具體的程式碼範例進行說明。精確匹配精確匹配意味著只匹配符合完全條件的字串,不匹配任何變種或包含額外字

絕地潛兵2怎麼匹配 絕地潛兵2怎麼匹配 Feb 27, 2024 pm 08:43 PM

絕地潛兵2是一款擁有高品質大作玩法打造的第三人稱的射擊遊戲,擁有大量精彩的玩法可讓小夥伴去探索聯機射擊戰鬥的操作趣味,遊戲中的聯機模式是可以匹配的,一些玩家目前還不清楚該如何去操作匹配,本期為大家分享匹配的步驟!絕地潛兵2匹配操作教程答:在星球界面點擊快速匹配。絕地潛兵2配對方法絕地潛兵2的快速配對是一個很不錯的功能,能幫玩家找到一起配對的隊友,共同進入一場任務,互相配合獲得更高的任務評價。匹配的選項在星球介面,在找任務或看公開房間的時候,下方會有一個快速匹配,點擊就能開始匹配。如果玩家打開了跨平

PHP 正規表示式:如何符合 HTML 中的所有 textarea 標籤 PHP 正規表示式:如何符合 HTML 中的所有 textarea 標籤 Jun 22, 2023 pm 09:27 PM

HTML是一種常用的頁面標記語言,用於在網頁中展示內容。在HTML中,textarea標籤被用來建立文字框,允許使用者輸入或編輯文字。當你需要從頁面中提取所有的textarea標籤及其內容時,PHP正規表示式可以提供一個簡單有效的解決方案。在本文中,我們將學習如何使用PHP正規表示式來匹配HTML中的所有textarea標籤。理解正規表

Java中的型別不符-java.lang.ClassCastException Java中的型別不符-java.lang.ClassCastException Jun 24, 2023 pm 09:30 PM

Java作為一門強型別語言,在編譯時就要求變數的型別必須明確確定下來,這在某種程度上保證了程式的安全性。但是有時候,在運行時,我們可能會遇到類型轉換異常——java.lang.ClassCastException,這種異常會在Java程式中出現,當程式試圖將一個物件轉換為不相容的類型時,就會拋出該異常。 Java.lang.ClassCastExcepti

如何解決Python的表達式語法錯誤? 如何解決Python的表達式語法錯誤? Jun 24, 2023 pm 05:04 PM

Python作為一種高階程式語言,易於學習和使用。一旦需要編寫Python程式時,無法避免地遇到語法錯誤,表達式語法錯誤是常見的一種。在本文中,我們將討論如何解決Python的表達式語法錯誤。表達式語法錯誤是Python中最常見的錯誤之一,它通常是由於錯誤的使用語法或缺少必要組件而導致的。在Python中,表達式通常由數字、字串、變數和運算子組成。最常見的

See all articles