php正則技巧(php正則表達式語法)

本文目錄一覽:

php 怎麼使用正則

/**

通用正則

參數:

正則,模式,字符串

說明:

通用正則處理函式,可以用來獲取,替換,檢查內容

返回:

匹配到的內容或Boolean值

用法:

使用之前先把引號之類的替換乾凈

$html=Fun::_file_get_contents(”);$html=strtr($html,array(“‘”=”,'”‘=”));

var_dump(Fun::Preg(“title(.*)”,’one’,$html)); //抓取一條內容

var_dump(Fun::Preg(“/ href=(.[^ ]*)/i”,’arr’,$html)); //抓取內容列表

echo Fun::Preg(“abc|cde”,’rep’,$html); //把內容替換掉

if(Fun::Preg(” href=.[^’\” ]*”,’chk’,$html)){ //判斷是否存在

echo ‘true’;

}

//匹配所有的href

$href=Fun::Preg(‘/ href=[“|\’]?([^”\’ ]+)[“|\’]?/i’,’arr’,$html);

/**/

public static function Preg($r,$t,$html){

switch(strtolower($t)){

case ‘arr’:

preg_match_all(“{$r}”,$html,$arr,PREG_PATTERN_ORDER);

return $arr;

break;

case ‘one’:

preg_match(“/{$r}/iU”,$html,$arr);

return $arr;

break;

case ‘rep’:

return preg_replace(“/{$r}/i”,”,$html);

break;

case ‘chk’:

return preg_match(“/{$r}/iU”,$html);

break;

default:

return FALSE;

}

}

php 正則 來高手

在正則表達式中,\ 是個特殊符號,代表轉義符。

比如, 如果你希望匹配一個”*”字符, 就需要在模式中寫為”\*”,如果要匹配一個反斜線, 那麼在模式中使用」\\」。

在表達式 \為什麼,([0-9]{1,6}),([0-9]{1,6} 中的 \ 沒有發生作用,因為在正則表達式中,\ 要與字母或數字才能代表這是個正確的轉義,因此,能夠匹配「為什麼」。

而在 /\bbs,([0-9]{1,6}),([0-9]{1,6})/ 中,\b 在正則表達式中表示單詞邊界,因此不能匹配bbs

php 使用正則表達式是否具有優勢和缺點?

優點:

正則表達式可以處理比較複雜的文本數據處理如匹配、替換、分割,比着php中的原生字符串函數功能更強,比如處理url,處理文本,驗證規則

缺點:

有強大的功能,但是處理速度比着原生字符串函數要慢

原則上能用原生的函數不用php中正則表達式

PHP 正則問題

1.正則式應該為/\\\\/,\\\\被字符串轉移後變成\\,再被正則轉義變成\

2.默認preg正則是貪婪的,也就是說.,*,+之類的會匹配儘可能多的字符。可以在正則式後加上U標誌使整個正則式非貪婪。具體請百度「正則 貪婪」

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/130003.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相關推薦

  • 使用vscode建立UML圖的實踐和技巧

    本文將重點介紹在使用vscode在軟件開發中如何建立UML圖,並且給出操作交互和技巧的指導。 一、概述 在軟件開發中,UML圖是必不可少的重要工具之一。它為軟件架構和各種設計模式的…

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

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

    編程 2025-04-29
  • Python語法大全解析

    本文旨在全面闡述Python語法,並提供相關代碼示例,幫助讀者更好地理解Python語言。 一、基礎語法 1、Python的注釋方式 # 這是單行注釋 “”” 這是多行注釋,可以注…

    編程 2025-04-29
  • Python中複數的語法

    本文將從多個方面對Python中複數的語法進行詳細的闡述。Python中的複數是指具有實部和虛部的數,其中實部和虛部都是浮點數。它們可以用「實數+虛數j」的形式表示。例如,3 + …

    編程 2025-04-29
  • 優秀周記1000字的撰寫思路與技巧

    優秀周記是每個編程開發工程師記錄自己工作生活的最佳方式之一。本篇文章將從周記的重要性、撰寫思路、撰寫技巧以及周記的示例代碼等角度進行闡述。 一、周記的重要性 作為一名編程開發工程師…

    編程 2025-04-28
  • parent.$.dialog是什麼技術的語法

    parent.$.dialog是一種基於jQuery插件的彈出式對話框技術,它提供了一個方便快捷的方式來創建各種類型和樣式的彈出式對話框。它是對於在網站開發中常見的彈窗、提示框等交…

    編程 2025-04-28
  • 堆疊圖配色技巧分享

    堆疊圖是數據可視化中常用的一種表現形式,而配色則是影響堆疊圖觀感和傳達信息的重要因素之一。本文將分享一些堆疊圖配色的技巧,幫助你創造更好的數據可視化。 一、色彩搭配原則 色彩是我們…

    編程 2025-04-27
  • 使用uring_cmd提高開發效率的技巧

    對於編程開發工程師來說,提高效率一直是致力追求的目標。本文將深度解析如何使用uring_cmd,提升工作效率。 一、常用命令 uring_cmd是一個非常強大的命令行工具,但是大部…

    編程 2025-04-27
  • 編譯原理語法分析思維導圖

    本文將從以下幾個方面詳細闡述編譯原理語法分析思維導圖: 一、語法分析介紹 1.1 語法分析的定義 語法分析是編譯器中將輸入的字符流轉換成抽象語法樹的一個過程。該過程的目的是確保輸入…

    編程 2025-04-27
  • 通信專業Python和Java的開發技巧

    本文旨在介紹通信專業Python和Java的開發技巧,為讀者提供實用且可操作的思路和方法。 一、Python在通信領域中的應用 Python是一種優秀的程序設計語言,因其易學易用、…

    編程 2025-04-27

發表回復

登錄後才能評論