復(fù)習(xí)PHP基礎(chǔ)(正則表達(dá)式)

1.定界符

(1).規(guī)定:定界符不能用a-zA-Z0-9\其它的都可以用。定界符必須成對(duì)出現(xiàn),有開(kāi)始就有結(jié)束。
(2).正確的定界符例子:// $$ %% ^^ @@,注意,不能用()做定界符。
(3).\是轉(zhuǎn)義字符,若在正則表達(dá)式里需匹配符號(hào)/可在該符號(hào)/前面加上\轉(zhuǎn)義一下,例:///,也可把定界符/修改為#,例:#/#。


2.正則匹配函數(shù),例:

preg_match($正則變量名, $字符串, $數(shù)組形式的結(jié)果);

若匹配到了,該函數(shù)會(huì)把結(jié)果放在第三個(gè)參數(shù)里(數(shù)組形式),沒(méi)有匹配到則返回0。


3.原子——所有可見(jiàn)不可見(jiàn)的字符就是原子

(1).特殊標(biāo)識(shí)的原子:
\d為匹配一個(gè)0-9 \D反之;
\w為匹配a-zA-Z0-9_ \W反之;
\s為匹配所有空白字符\n\t\r空格 \S反之
[]為匹配指定范圍的原子,如:[0-5]。
(2).[^字符]為不匹配指定區(qū)間的字符。


4.元字符——實(shí)現(xiàn)匹配多個(gè)字符

元字符 作用
* 匹配前一個(gè)原子0次或任意多次
+ 匹配前一個(gè)字符一次或多次
? 前面的字符可有可無(wú)
. 匹配除了\n以外的所有字符
| 或者
^ 抑揚(yáng)符
$ 必須要以$之前的字符結(jié)尾
\b 詞邊界,前面的字符必須在最前或最后
\B 非邊界
{m} 前面的字符有且只能出現(xiàn)m次
{n,m} 前面的字符可出現(xiàn)n到m次
{m,} 前面的字符至少出現(xiàn)m次
() 改變優(yōu)先級(jí)或?qū)⒛硞€(gè)字符串視為一個(gè)整體

5.模式匹配符——增強(qiáng)正則的功能

(1).用法:/正則表達(dá)式/模式匹配符
(2).常用的模式匹配符:

模式匹配符 功能
i 待匹配的字符串不區(qū)分大小寫(xiě)
m 待匹配的字符串視為多行
s 將待匹配的字符串視為單行,換行符作為普通字符
x 將正則表達(dá)式中的空白忽略
A 強(qiáng)制僅從目標(biāo)字符串的開(kāi)頭開(kāi)始匹配
D 正則表達(dá)式中的$符僅匹配目標(biāo)字符串的結(jié)尾,防止目標(biāo)字符串的結(jié)尾有回車
U 匹配最近的字符串,避免了正則的貪婪模式(正則是只要符合的都會(huì)匹配)

6.常用的正則函數(shù)

函數(shù)名 功能
preg_filter 執(zhí)行一個(gè)正則表達(dá)式搜索和替換
preg_grep 返回匹配模式的數(shù)組條目
preg_match 執(zhí)行一個(gè)正則表達(dá)式匹配
preg_match_all 執(zhí)行一個(gè)全局正則表達(dá)式匹配
preg_replace 執(zhí)行一個(gè)正則表達(dá)式的搜索和替換
preg_replace_callback 執(zhí)行一個(gè)正則表達(dá)式搜索并使用一個(gè)回調(diào)進(jìn)行替換
preg_replace_callback_array 傳入數(shù)組,執(zhí)行一個(gè)正則表達(dá)式搜索并使用一個(gè)回調(diào)進(jìn)行替換
preg_split 通過(guò)一個(gè)正則表達(dá)式分割字符串

總的來(lái)說(shuō),正則表達(dá)式(模式匹配)感覺(jué)就是一個(gè)熟能生巧的活,要多練,像匹配郵箱、匹配手機(jī)號(hào)、匹配網(wǎng)址、寫(xiě)一個(gè)采集器都可以。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 正則表達(dá)式介紹 正則表達(dá)式簡(jiǎn)介 正則表達(dá)式是用于描述字符排列和匹配模式的一種語(yǔ)法規(guī)則。它主要用于字符串的模式分割、...
    dptms閱讀 11,053評(píng)論 1 9
  • 概述 正則表達(dá)式是一種描述字符串結(jié)果的語(yǔ)法規(guī)則,是一個(gè)特定的格式化模式,可以匹配、替換、截取匹配的字符串。常用的語(yǔ)...
    醉于麥田閱讀 556評(píng)論 0 0
  • 1. 正則表達(dá)式 正則表達(dá)式,又稱正規(guī)表示式、正規(guī)表示法、正規(guī)表達(dá)式、規(guī)則表達(dá)式、常規(guī)表示法(英語(yǔ):Regular...
    xiangang閱讀 749評(píng)論 0 3
  • PHP常用正則表達(dá)式匯總 正則表達(dá)式在 PHP 中的應(yīng)用在 PHP 應(yīng)用中,正則表達(dá)式主要用于: 正則匹配:根據(jù)正...
    DragonRat閱讀 1,495評(píng)論 0 4
  • 關(guān)于PCRE的介紹以及實(shí)現(xiàn)正則表達(dá)式功能的所有說(shuō)明,都可以在官方手冊(cè)中看到:正則表達(dá)式(兼容 Perl) 一、認(rèn)識(shí)...
    拿破侖蛋糕閱讀 1,647評(píng)論 0 1

友情鏈接更多精彩內(nèi)容