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

PHP 正則表達式高級技巧實戰詳解(PCRE/Perl 兼容)

     編輯:PHP 綜合知識

前言

正則表達式功能強大,能在海量文本中精準提取信息。但基礎正則對複雜場景往往力不從心,掌握高級技巧至關重要。本文精選 8 大核心概念,配合實戰案例解析,助你駕馭複雜文本處理需求。(閱讀前建議具備正則基礎知識)

核心技巧 1:貪婪與懶惰模式

貪婪模式(默認)

所有可重複的量詞(*、+、{n,})默認都是貪婪的——盡可能多匹配字符。

// 文本
<h1>這是一個標題。</h1>
<h1>這是另一個。</h1>

// 正則:/<h1>.*<\/h1>/
// 匹配結果:整段文本(包含中間的閉合標簽)

.* 貪婪匹配了從第一個 <h1> 到最後一個 </h1> 的所有內容。

懶惰模式(非貪婪)

在量詞後添加 ? 或使用 U 修飾符啟用懶惰模式——盡可能少匹配字符。

// 正則:/<h1>.*?<\/h1>/
// 匹配結果:<h1>這是一個標題。</h1>(僅第一個)

{n,}? 懶惰重複

$str = 'hihihi oops hi';

// 貪婪 {2,}:匹配盡可能多
preg_match('/(hi){2,}/', $str, $m);  // $m[0] = 'hihihi'

// 懶惰 {2,}?:匹配最少滿足條件
preg_match('/(hi){2,}?/', $str, $m); // $m[0] = 'hihi'

理解貪婪與懶惰的區別,是掌握高級正則的基石。


(篇幅所限,本文展示核心技巧 1。完整 8 大技巧包含:反向引用、零寬斷言、條件匹配、遞歸模式、具名捕獲、原子組、性能優化、常見陷阱規避,請參考完整版文檔。)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved