溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php正則表達(dá)式的基本語法

發(fā)布時間:2021-08-26 18:03:19 來源:億速云 閱讀:133 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要介紹“php正則表達(dá)式的基本語法”,在日常操作中,相信很多人在php正則表達(dá)式的基本語法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php正則表達(dá)式的基本語法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!


  現(xiàn)在開始來學(xué)習(xí)正則表達(dá)式的基本語法:
1.“/”是定界符,“/”定界符之間的部分就是將要在目標(biāo)對象中進(jìn)行匹配的模式。同時為了正則更加靈活,引入了元字符,即“+”, “*”,以及 “?”。
(1)“+”元字符規(guī)定其前導(dǎo)字符必須在目標(biāo)對象中連續(xù)出現(xiàn)一次或多次
比如:/php+/,能夠與“phpp”匹配,即字母ph后面連續(xù)出現(xiàn)一個或多個字母p的字符串相匹配。
(2)“*”元字符規(guī)定其前導(dǎo)字符必須在目標(biāo)對象中出現(xiàn)零次或連續(xù)多次
比如:/php*/能夠與“phpddt”相匹配,即ph后面可以有0個或多個p
(3)“?”元字符規(guī)定其前導(dǎo)對象必須在目標(biāo)對象中連續(xù)出現(xiàn)零次或一次。
比如:/php?/能夠“pher”匹配,即phh后面可以有0個或者1個p
其他重要的元字符:

  • \s:用于匹配單個空格符,包括tab鍵和換行符;
     

  • \S:用于匹配除單個空格符之外的所有字符;
     

  • \d:用于匹配從0到9的數(shù)字;
     

  • \w:用于匹配字母,數(shù)字或下劃線字符;
     

  • \W:用于匹配所有與\w不匹配的字符;
     

  • . :用于匹配除換行符之外的所有字符。
     

示例:/\s+/用于匹配目標(biāo)對象中的一個或多個空格字符
2.定位符用于規(guī)定匹配模式在目標(biāo)對象中的出現(xiàn)位置。常用的有“^”, “$”, “\b” 以及 “\B”
(1)“^”定位符規(guī)定匹配模式必須出現(xiàn)在目標(biāo)字符串的開頭
(2)“$”定位符規(guī)定匹配模式必須出現(xiàn)在目標(biāo)對象的結(jié)尾
(3)\b定位符規(guī)定匹配模式必須出現(xiàn)在目標(biāo)字符串的開頭或結(jié)尾的兩個邊界之一
(4)“\B”定位符則規(guī)定匹配對象必須位于目標(biāo)字符串的開頭和結(jié)尾兩個邊界之內(nèi)
3.php的正則匹配模式非常靈活,可以指定某一范圍 
例如:
/[A-Z]/
上述正則表達(dá)式將會與從A到Z范圍內(nèi)任何一個大寫字母相匹配。
/[a-z]/
上述正則表達(dá)式將會與從a到z范圍內(nèi)任何一個小寫字母相匹配。
/[0-9]/
上述正則表達(dá)式將會與從0到9范圍內(nèi)任何一個數(shù)字相匹配。
/([a-z][A-Z][0-9])+/
上述正則表達(dá)式將會與任何由字母和數(shù)字組成的字符串
4.可以同時與多種模式選擇匹配
如/phpddt.com|phpddt|100/可以與“phpddt.com” “phpddt” “100”相匹配
5.否定符 “[^]”規(guī)定目標(biāo)對象中不能存在模式中所規(guī)定的字符串
例如:[^phpddt]匹配除了phpddt字符外的所有東西
下面來講講正則表達(dá)式常用函數(shù)吧!(非常重要)

<?php 
//preg_match("正則表達(dá)式","字符串")用于在字符串中查找匹配項(xiàng) 
$email = "987044391@qq.com"; 
if (preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([.a-zA-Z0-9_-])+([.a-zA-Z0-9_-]+)+([.a-zA-Z0-9_-])$/",$email)){ 
 echo '匹配成功<hr />'; 
}else { 
 echo '匹配失敗<hr />'; 
} 
//preg_quote("字符串") 在每個有正則表達(dá)式語法前面加入一個轉(zhuǎn)義字符即\ 
 
$str = "php點(diǎn)點(diǎn)通是一個學(xué)習(xí)php的網(wǎng)站,(⊙o⊙)…"; 
echo preg_quote($str); 
echo "<hr />"; 
 
//preg_split("正則","字符串")分割字符串 
$php = "+php++點(diǎn)點(diǎn)通++++是好網(wǎng)站"; 
$field = preg_split("/\+{1,}/",$php); 
foreach($field as $f){ 
echo $f." "; 
} 
echo "<hr />"; 
//preg_grep("正則","字符串") 與數(shù)組匹配后返回新數(shù)組 
$phpddt = array("php點(diǎn)點(diǎn)通","php100","呵呵","hahaha","phpchina"); 
$item = preg_grep("/^php/",$phpddt); 
print_r($item); 
 
echo "<hr />"; 
//preg_replace("正則","替換內(nèi)容","原字符串") 很重要,很常用 
$a = "歡迎光臨https://www.jb51.net/"; //給http開頭的加上超鏈接 
echo preg_replace("/http:\/\/(.*)\//","<a href=\"\${0}\">\${0}</a>","$a"); 
?>

到此,關(guān)于“php正則表達(dá)式的基本語法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI