国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
PHP正則表達(dá)式入門教程[轉(zhuǎn)],正則表達(dá)式入門教程
首頁 後端開發(fā) php教程 PHP正則表達(dá)式入門教程[轉(zhuǎn)],正則表達(dá)式入門教程_PHP教程

PHP正則表達(dá)式入門教程[轉(zhuǎn)],正則表達(dá)式入門教程_PHP教程

Jul 12, 2016 am 08:52 AM
正規(guī)表示式

PHP正則表達(dá)式入門教程[轉(zhuǎn)],正則表達(dá)式入門教程

思維導(dǎo)圖 點擊下圖,可以看具體內(nèi)容!

? ? 介紹 ? ?????? 正則表達(dá)式,大家在開發(fā)中應(yīng)該是經(jīng)常用到,現(xiàn)在很多開發(fā)語言都有正則表達(dá)式的應(yīng)用,比如javascript,java,.net,php等等,我今天就把我對正則表達(dá)式的理解跟大家嘮嘮,不當(dāng)之處,請多多指教! ? 需要知道的術(shù)語——下面的術(shù)語你知道多少? ? Δ??定界符 Δ??字符域 Δ??修飾符 Δ??限定符 Δ??脫字符 Δ??通配符(正向預(yù)查,反向預(yù)查) Δ??反向引用 Δ??惰性匹配 Δ??注釋 Δ??零字符寬 ? 定位 ? ?????? 我們什么時候使用正則表達(dá)式呢?不是所有的字符操作都用正則就好了,php在某些方面用正則反而影響效率。當(dāng)我們遇到復(fù)雜文本數(shù)據(jù)的解析時候,用正則是比較好的選擇。 ? 優(yōu)點 ? ????? 正則表達(dá)式在處理復(fù)雜字符操作的時候,可以提高工作效率,也在一定程度節(jié)省你的代碼量。 ? 缺點 ? ?????? 我們在使用正則表達(dá)式的時候,復(fù)雜的正則表達(dá)式會加大代碼的復(fù)雜度,讓人很難理解。所以我們有的時候需要在正則表達(dá)式內(nèi)部添加注釋。 ? 通用模式

? ?¤ 定界符,通常使用 "/"做為定界符開始和結(jié)束,也可以使用"#"。   什么時候使用"#"呢?一般是在你的字符串中有很多"/"字符的時候,因為正則的時候這種字符需要轉(zhuǎn)義,比如uri。 ???? 使用"/"定界符的代碼如下.
$regex = '/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html$/i'; $str = 'http://www.youku.com/show_page/id_ABCDEFG.html'; $matches = array(); ? if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo "\n";

??? preg_match中的$matches[0]將包含與整個模式匹配的字符串。?

??? 使用"#"定界符的代碼如下.這個時候?qū)?/"就不轉(zhuǎn)義!

$regex = '#^http://([\w.]+)/([\w]+)/([\w]+)\.html$#i'; $str = 'http://www.youku.com/show_page/id_ABCDEFG.html'; $matches = array(); ? if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo "\n";

??¤ 修飾符:用于改變正則表達(dá)式的行為。

???? 我們看到的('/^http:\/\/([\w.]+)\/([\w]+)\/([\w]+)\.html/i')中的最后一個"i"就是修飾符,表示忽略大小寫,還有一個我們經(jīng)常用到的是"x"表示忽略空格。

貢獻(xiàn)代碼:

??

$regex?= '/HELLO/'; $str?= 'hello word'; $matches?= array(); ? if(preg_match($regex, $str, $matches)){ ????echo?'No i:Valid Successful!',"\n"; } ? if(preg_match($regex.'i', $str, $matches)){ ????echo?'YES i:Valid Successful!',"\n"; }

?

? ¤ 字符域:[\w]用方括號擴(kuò)起來的部分就是字符域。

? ¤ 限定符:如[\w]{3,5}或者[\w]*或者[\w]+這些[\w]后面的符號都表示限定符。現(xiàn)介紹具體意義。

???? {3,5}表示3到5個字符。{3,}超過3個字符,{,5}最多5個,{3}三個字符。

???? * 表示0到多個

???? + 表示1到多個。

? ¤ 脫字符號

????? ^:

????????? > 放在字符域(如:[^\w])中表示否定(不包括的意思)——“反向選擇”

????????? >? 放在表達(dá)式之前,表示以當(dāng)前這個字符開始。(/^n/i,表示以n開頭)。

????? 注意,我們經(jīng)常管"\"叫"跳脫字符"。用于轉(zhuǎn)義一些特殊符號,如".","/"

?

通配符(lookarounds):斷言某些字符串中某些字符的存在與否! ? lookarounds分兩種:lookaheads(正向預(yù)查 ?=)和lookbehinds(反向預(yù)查? 格式: 正向預(yù)查:(?=) 相對應(yīng)的 (?!)表示否定意思 反向預(yù)查:(? $regex?= '/(?<code class="php plain">;? /* d 前面緊跟c, d 后面緊跟e*/ $str?= 'abcdefgk'; $matches?= array(); ? if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo?"\n";

否定意義:

$regex?= '/(?<code class="php plain">;? /* d 前面不緊跟c, d 后面不緊跟e*/ $str?= 'abcdefgk'; $matches?= array(); ? if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo?"\n";

?

>字符寬度:零 驗證零字符代碼
$regex?= '/HE(?=L)LO/i'; $str?= 'HELLO'; $matches?= array(); ? if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo?"\n";

打印不出結(jié)果!

$regex?= '/HE(?=L)LLO/i'; $str?= 'HELLO'; $matches?= array(); ? if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo?"\n";

?能打印出結(jié)果!

說明:(?=L)意思是HE后面緊跟一個L字符。但是(?=L)本身不占字符,要與(L)區(qū)分,(L)本身占一個字符。

? 捕獲數(shù)據(jù) ? 沒有指明類型而進(jìn)行的分組,將會被獲取,供以后使用。 > 指明類型指的是通配符。所以只有圓括號起始位置沒有問號的才能被捕捉。

> 在同一個表達(dá)式內(nèi)的引用叫做反向引用。 > 調(diào)用格式: \編號(如\1)。
$regex?= '/^(Chuanshanjia)[\w\s!]+\1$/';??? $str?= 'Chuanshanjia thank Chuanshanjia'; $matches?= array(); ? if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo?"\n";

?

> 避免捕獲數(shù)據(jù) ?? 格式:(?:pattern) ?? 優(yōu)點:將使有效反向引用數(shù)量保持在最小,代碼更加、清楚。 ? >命名捕獲組 ?? 格式:(?P) 調(diào)用方式 (?P=組名)
$regex?= '/(?P<author>chuanshanjia)[\s]Is[\s](?P=author)/i'</author>; $str?= 'author:chuanshanjia Is chuanshanjia'; $matches?= array(); ? if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo?"\n";

運行結(jié)果

??

惰性匹配(記?。簳M(jìn)行兩部操作,請看下面的原理部分)

  格式:限定符?

???? 原理:"?":如果前面有限定符,會使用最小的數(shù)據(jù)。如“*”會取0個,而“+”會取1個,如過是{3,5}會取3個。

先看下面的兩個代碼:

代碼1.

<?php $regex?= '/heL*/i'; $str?= 'heLLLLLLLLLLLLLLLL'; if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo?"\n";

? 結(jié)果1.

?

代碼2

<?php $regex?= '/heL*?/i'; $str?= 'heLLLLLLLLLLLLLLLL'; if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo?"\n";

? 結(jié)果2

?

代碼3,使用“+”

<?php $regex?= '/heL+?/i'; $str?= 'heLLLLLLLLLLLLLLLL'; if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo?"\n";

?結(jié)果3

代碼4,使用{3,5}

<?php $regex?= '/heL{3,10}?/i'; $str?= 'heLLLLLLLLLLLLLLLL'; if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo?"\n";

?結(jié)果4

? ?

正則表達(dá)式的注釋 ? 格式:(?# 注釋內(nèi)容) 用途:主要用于復(fù)雜的注釋 ? ?貢獻(xiàn)代碼:是一個用于連接MYSQL數(shù)據(jù)庫的正則表達(dá)式
$regex?= '/ ????^host=(? <code class="php plain">\| ????([\w!@#$%^&*()_+\-]+)?????????????????????? (?#用戶名) \| ????([\w!@#$%^&*()_+\-]+)?????????????????????? (?#密碼) (?!\|)$/ix'; ? $str?= 'host=192.168.10.221|root|123456'; $matches?= array(); ? if(preg_match($regex, $str, $matches)){ ????var_dump($matches); } ? echo?"\n";

?

? 特殊字符 ? ?
特殊字符 解釋
* 0到多次
+ 1到多次還可以寫成{1,}
? 0或1次
. 匹配除換行符外的所有單個的字符
\w [a-zA-Z0-9_]
\s 空白字符(空格,換行符,回車符)[\t\n\r]
\d [0-9]

?

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1127374.htmlTechArticlePHP正則表達(dá)式入門教程[轉(zhuǎn)],正則表達(dá)式入門教程 思維導(dǎo)圖點擊下圖,可以看具體內(nèi)容! 介紹 正則表達(dá)式,大家在開發(fā)中應(yīng)該是經(jīng)常用到...
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

PHP正規(guī)表示式驗證:數(shù)位格式偵測 PHP正規(guī)表示式驗證:數(shù)位格式偵測 Mar 21, 2024 am 09:45 AM

PHP正規(guī)表示式驗證:數(shù)位格式偵測在編寫PHP程式時,經(jīng)常需要對使用者輸入的資料進(jìn)行驗證,其中一個常見的驗證是檢查資料是否符合指定的數(shù)字格式。在PHP中,可以使用正規(guī)表示式來實現(xiàn)這種驗證。本文將介紹如何使用PHP正規(guī)表示式來驗證數(shù)字格式,並提供具體的程式碼範(fàn)例。首先,讓我們來看看常見的數(shù)字格式驗證要求:整數(shù):只包含數(shù)字0-9,可以以正負(fù)號開頭,不包含小數(shù)點。浮點

如何在 Go 中使用正規(guī)表示式匹配時間戳記? 如何在 Go 中使用正規(guī)表示式匹配時間戳記? Jun 02, 2024 am 09:00 AM

在Go中,可以使用正規(guī)表示式比對時間戳記:編譯正規(guī)表示式字串,例如用於匹配ISO8601時間戳記的表達(dá)式:^\d{4}-\d{2}-\d{2}T \d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ 。使用regexp.MatchString函數(shù)檢查字串是否與正規(guī)表示式相符。

掌握Go語言的正規(guī)表示式和字串處理 掌握Go語言的正規(guī)表示式和字串處理 Nov 30, 2023 am 09:54 AM

Go語言作為一門現(xiàn)代化的程式語言,提供了強(qiáng)大的正規(guī)表示式和字串處理功能,使得開發(fā)者能夠更有效率地處理字串資料。掌握Go語言的正規(guī)表示式和字串處理,對於開發(fā)者來說是非常重要的。本文將詳細(xì)介紹Go語言中正規(guī)表示式的基本概念和用法,以及如何使用Go語言處理字串。一、正規(guī)表示式正規(guī)表示式是用來描述字串模式的工具,能夠方便地實現(xiàn)字串的匹配、尋找和替換等操

如何使用正規(guī)表示式在 Golang 中驗證電子郵件地址? 如何使用正規(guī)表示式在 Golang 中驗證電子郵件地址? May 31, 2024 pm 01:04 PM

若要使用正規(guī)表示式在Golang中驗證電子郵件地址,請執(zhí)行下列步驟:使用regexp.MustCompile建立正規(guī)表示式模式,以符合有效的電子郵件地址格式。使用MatchString函數(shù)檢查字串是否與模式相符。此模式涵蓋了大多數(shù)有效的電子郵件地址格式,包括:局部使用者名稱可以包含字母、數(shù)字和特殊字元:!.#$%&'*+/=?^_{|}~-`網(wǎng)域至少包含一個字母,後面可以跟字母、數(shù)字或連字符頂級域名(TLD)不能超過63個字符長

如何在 Go 中使用正規(guī)表示式驗證密碼? 如何在 Go 中使用正規(guī)表示式驗證密碼? Jun 02, 2024 pm 07:31 PM

Go中使用正規(guī)表示式驗證密碼的方法如下:定義正規(guī)表示式模式,符合最低密碼要求:至少8個字符,包含小寫字母、大寫字母、數(shù)字和特殊字符。使用regexp套件中的MustCompile函式編譯正規(guī)表示式模式。使用MatchString方法測試輸入字串是否與正規(guī)表示式模式相符。

中文字元過濾:PHP正規(guī)表示式實踐 中文字元過濾:PHP正規(guī)表示式實踐 Mar 24, 2024 pm 04:48 PM

PHP是一種廣泛應(yīng)用的程式語言,特別在Web開發(fā)領(lǐng)域中非常流行。在網(wǎng)路開發(fā)過程中,經(jīng)常會遇到需要對使用者輸入的文字進(jìn)行過濾、驗證等操作,其中字元過濾是一項十分重要的操作。本文將介紹如何使用PHP中的正規(guī)表示式來實現(xiàn)中文字元過濾的功能,並給出具體的程式碼範(fàn)例。首先,我們要先明確一下中文字元的Unicode範(fàn)圍是從u4e00到u9fa5,也就是所有的漢字都處於這個範(fàn)圍

Golang 正規(guī)表示式的使用指南 Golang 正規(guī)表示式的使用指南 Apr 08, 2024 pm 02:15 PM

Go中的正規(guī)表示式提供了一個強(qiáng)大的字串處理工具:使用regexp套件進(jìn)行正規(guī)表示式操作。利用正規(guī)表示式語法來匹配和操作字串。可匹配字元類別、重複字元、分組、錨點和邊界符。透過MatchString匹配字串、FindStringSubmatch提取匹配和ReplaceAllString替換字串。應(yīng)用程式場景包括驗證電子郵件地址、提取HTML連結(jié)等。

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

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

See all articles