您好,登錄后才能下訂單哦!
這篇文章主要介紹“php正則表達式的基本語法”,在日常操作中,相信很多人在php正則表達式的基本語法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php正則表達式的基本語法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
現在開始來學習正則表達式的基本語法:
1.“/”是定界符,“/”定界符之間的部分就是將要在目標對象中進行匹配的模式。同時為了正則更加靈活,引入了元字符,即“+”, “*”,以及 “?”。
(1)“+”元字符規定其前導字符必須在目標對象中連續出現一次或多次
比如:/php+/,能夠與“phpp”匹配,即字母ph后面連續出現一個或多個字母p的字符串相匹配。
(2)“*”元字符規定其前導字符必須在目標對象中出現零次或連續多次
比如:/php*/能夠與“phpddt”相匹配,即ph后面可以有0個或多個p
(3)“?”元字符規定其前導對象必須在目標對象中連續出現零次或一次。
比如:/php?/能夠“pher”匹配,即phh后面可以有0個或者1個p
其他重要的元字符:
\s:用于匹配單個空格符,包括tab鍵和換行符;
\S:用于匹配除單個空格符之外的所有字符;
\d:用于匹配從0到9的數字;
\w:用于匹配字母,數字或下劃線字符;
\W:用于匹配所有與\w不匹配的字符;
. :用于匹配除換行符之外的所有字符。
示例:/\s+/用于匹配目標對象中的一個或多個空格字符
2.定位符用于規定匹配模式在目標對象中的出現位置。常用的有“^”, “$”, “\b” 以及 “\B”
(1)“^”定位符規定匹配模式必須出現在目標字符串的開頭
(2)“$”定位符規定匹配模式必須出現在目標對象的結尾
(3)\b定位符規定匹配模式必須出現在目標字符串的開頭或結尾的兩個邊界之一
(4)“\B”定位符則規定匹配對象必須位于目標字符串的開頭和結尾兩個邊界之內
3.php的正則匹配模式非常靈活,可以指定某一范圍
例如:
/[A-Z]/
上述正則表達式將會與從A到Z范圍內任何一個大寫字母相匹配。
/[a-z]/
上述正則表達式將會與從a到z范圍內任何一個小寫字母相匹配。
/[0-9]/
上述正則表達式將會與從0到9范圍內任何一個數字相匹配。
/([a-z][A-Z][0-9])+/
上述正則表達式將會與任何由字母和數字組成的字符串
4.可以同時與多種模式選擇匹配
如/phpddt.com|phpddt|100/可以與“phpddt.com” “phpddt” “100”相匹配
5.否定符 “[^]”規定目標對象中不能存在模式中所規定的字符串
例如:[^phpddt]匹配除了phpddt字符外的所有東西
下面來講講正則表達式常用函數吧!(非常重要)
<?php //preg_match("正則表達式","字符串")用于在字符串中查找匹配項 $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("字符串") 在每個有正則表達式語法前面加入一個轉義字符即\ $str = "php點點通是一個學習php的網站,(⊙o⊙)…"; echo preg_quote($str); echo "<hr />"; //preg_split("正則","字符串")分割字符串 $php = "+php++點點通++++是好網站"; $field = preg_split("/\+{1,}/",$php); foreach($field as $f){ echo $f." "; } echo "<hr />"; //preg_grep("正則","字符串") 與數組匹配后返回新數組 $phpddt = array("php點點通","php100","呵呵","hahaha","phpchina"); $item = preg_grep("/^php/",$phpddt); print_r($item); echo "<hr />"; //preg_replace("正則","替換內容","原字符串") 很重要,很常用 $a = "歡迎光臨https://www.jb51.net/"; //給http開頭的加上超鏈接 echo preg_replace("/http:\/\/(.*)\//","<a href=\"\${0}\">\${0}</a>","$a"); ?>
到此,關于“php正則表達式的基本語法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。