摘要:正則表達式是用于匹配的字符串使用庫四部分組成定界符原子元字符模式修正符沒匹配上原子要點打印字符鍵盤打出的字符非打印字符回車等打印字符除了字母數字下劃線等,其他最好加轉義匹配回車通用任意一個數字,任意一個非數字,任意一個字,任意一個非字
1.正則表達式是用于匹配的字符串
2.使用PCRE庫
3.四部分組成:定界符、原子、元字符、模式修正符
$str="aaa1aa2aa333aaaa"; $reg="/d/"; echo preg_replace($reg,"#",$str); print_r preg_split($reg,$str); if(preg_match($reg,$str,$arr)){ print_r($arr); }else{ echo "沒匹配上"; }
4.原子
要點
a.打印字符(鍵盤打出的字符)/非打印字符(回車等) b.打印字符除了字母數字下劃線等,其他最好加轉義
$ren="/ /";//匹配回車
c.通用:d任意一個數字,D任意一個非數字,w任意一個字(a-z A-Z 0-9 _),W任意一個非字,s空白(回車TAB空格),S非空白 d.自定義原子表:[12348][^a-zA-Z] e.(.)匹配所有
5.元字符
a.*:修飾前面的原子可以出現任意次 b.+:修飾前面的原子至少出現一次 c.?:修飾前面的原子可以出現0或1次 d.{m}:修飾前面的原子只能出現m次 e.{m,n}:修飾前面的原子出現次數2-5閉區間內 f.{m,}:修飾前面的原子至少出現m次 g.|:兩邊的原子只要出現一個即可,優先級最低
$reg="/abc|efg/";//abc或efg,而非c或e,因為優先級最低
h.^或A:原子必須以某字符開始,寫在正則表達式的最前面 i.$或:原子必須以某字符結束,寫在正則表達式的最后面 j.:匹配單詞邊界;B:匹配除單詞邊界以外的部分(所謂邊界即空白,單詞哪邊有空白用b,否則B) k.(): (1)改變優先級 (2)將小原子變成大原子,如下:
$reg="/(abc)*/";//abc可以出現多次,而非只有c
(3)子模式:整個表達式是大模式,()內是獨立子模式,只想使用括號前兩個作用,可以(?:) (4)反向引用:1引用第一個子模式
6.模式修正符
a.寫在定界符右邊,可以組合使用,修正正則表達式的解釋或擴充了功能 (1)i:不區分大小寫 (2)m:視為多行,如:每行開始可匹配^,結尾$ (3)s:.可以匹配換行符(.默認不匹配換行符) (4)x:忽略正則表達式中空白,待匹配字符串不能空白了 (5)e: (6)U:取消貪婪模式,由于與其他語言不兼容,建議不用,而使用.*?或.+?取消貪婪
7.正則表達式的編寫(具體詳見下一篇:《正則表達式與字符串操作函數》)
a.正則表達式是一種算法/語言 b.列需求,一條條滿足
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25651.html
摘要:引用文字什么是正則表達式正則表達式是一個描述字符模式的對象。正則表達式元字符是包含特殊含義的字符,可以控制匹配模式的方式。 引用文字 什么是正則表達式 正則表達式是一個描述字符模式的對象。主要用來驗證客戶端的輸入數據,用戶填寫完表單信息提交后,就會傳遞給后臺服務器,服務器會通過PHP等后臺腳本進行處理,因為客戶端驗證,節約了大量的服務器資源,并提供了良好的用戶體驗。 創建正則表達式 創...
摘要:而區塊則是在區塊里面,細分到針對不同的路徑和請求而進行的配置。在留空的情況下,配置表示請求路徑由開始。表示大小寫不敏感的正則匹配。注意配置,這里匹配到開始的話,直接就返回了。匹配以結尾的請求這個通常用來設置圖片的請求響應。 原文來自:https://www.codecasts.com/blo... 今天有一位同學問到 Nginx 的站點多路徑匹配的問題? 1.www.domain.c...
摘要:一正則表達式函數解析表單驗證等地址的合法性匹配結果可以看作是值非法詞的過濾二正則表達式基本語法測試正則表達式的工具中午匹配最好轉成轉換工具注意是必須在一起的,否則如下也被當成一個原子去匹配。 一、PHP正則表達式函數解析 showImg(https://segmentfault.com/img/bVThUH?w=638&h=95); showImg(https://segmentfau...
閱讀 1208·2021-09-30 09:47
閱讀 3758·2021-09-06 15:02
閱讀 1765·2021-09-01 10:46
閱讀 2353·2019-08-30 15:52
閱讀 587·2019-08-29 15:28
閱讀 1867·2019-08-29 15:08
閱讀 1142·2019-08-29 13:28
閱讀 2565·2019-08-29 12:19