摘要:一正則表達(dá)式函數(shù)解析表單驗證等地址的合法性匹配結(jié)果可以看作是值非法詞的過濾二正則表達(dá)式基本語法測試正則表達(dá)式的工具中午匹配最好轉(zhuǎn)成轉(zhuǎn)換工具注意是必須在一起的,否則如下也被當(dāng)成一個原子去匹配。
一、PHP正則表達(dá)式函數(shù)解析
二、正則表達(dá)式基本語法preg_match();preg_match_all();表單驗證等
//email地址的合法性-preg_match(),匹配結(jié)果可以看作是bool值
preg_replace();非法詞的過濾
//f**k
測試正則表達(dá)式的工具
中午匹配最好轉(zhuǎn)成unicode:Unicode轉(zhuǎn)換工具
注意:[^是必須在一起的,否則如下:^也被當(dāng)成一個原子去匹配。
分枝是指制定幾個規(guī)則,如果滿足任意一種規(guī)則,則都當(dāng)作匹配成功。具體來說就是用 | 符號把各種規(guī)則分開,且條件從左至右匹配。
提示
由于分枝規(guī)定,只要匹配成功,就不再對后面的條件加以匹配,所以如果你想匹配有包含關(guān)系的內(nèi)容,請注意規(guī)則的順序。 下面是一個使用分枝的例子。美國的郵政編碼的規(guī)則是 5 個數(shù)字或者 5 個數(shù)字連上 4 個數(shù)字,如 12345 或者 54321-1234 ,如果要匹配所有的郵編,則正確的正則表達(dá)式為: d{5}-d{4}|d{5} //錯誤寫法 d{5}|d{5}-d{4} 下面的錯誤寫法,只能匹配到 5 位數(shù)字及 9 位數(shù)字的前 5 位數(shù)字的情況,而不能匹配 9 位數(shù)字的郵編。
.等價于[^ ]
第三、修正模式{n} 表示匹配其前面的原子恰好筆記出現(xiàn)n次的 如:5{3} 相當(dāng)于 555 {n,}
表示匹配其前面的原子最少出現(xiàn)n次的如:[a-zA-Z]{5,}至少連續(xù)出現(xiàn)5次的字母如wertt;
{n,m}表示其前面的原子最少出現(xiàn)5次,最多出現(xiàn)m次 如:w{5,9}
* 匹配0次, 1次或者多次其之前的原子 即{0,} 如w*
+ 匹配1次或多次其之前的原子 {1,} d+
?匹配0次或1次其之前的原子 {0,1} _?u
取多種可能結(jié)果中最短的那個,默認(rèn)是貪婪模式,既多種可能性中最長的那個
x:忽略空格和tab制表符空白格
四、實戰(zhàn)-常見正則表達(dá)式非空匹配:.+
浮點數(shù):d+.d{2}$
手機號:^1(3|5)d{9}$
郵箱:^w+(.w+)*@w+(.w+)+$
URl:^(https?://)?(w+.)+[a-zA-Z]+$
僅匹配3~15個漢字和大小寫字母:^([x{4e00}-x{9fa5}]|[a-zA-Z]){3,15}$/u
(/u表示按unicode(utf-8)匹配(主要針對多字節(jié)比如漢字),/U才是懶惰匹配哦)
正則表達(dá)式的/要轉(zhuǎn)義,不轉(zhuǎn)義是匹配不到的
模式單元(3|5|7|8)等同于[3578]
注意:(3|5) 等同于[35]而不是[3|5]哦?。?/b>
PHP 常用正則表達(dá)式整理
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/22551.html
摘要:兼容的正則表達(dá)式已經(jīng)實現(xiàn)了很多使用不同解析引擎的正則函數(shù)。中主要有兩個正則解析器一個稱為,另一個稱為兼容正則表達(dá)式。在中,每個正則表達(dá)式模式都是使用符合格式的字符串。 原文鏈接: Getting Started with PHP Regular Expressions Last-Modified: 2019年5月10日16:23:19譯者注: 本文是面向0正則基礎(chǔ)的phper, 很多...
摘要:內(nèi)置函數(shù)的性能優(yōu)劣。產(chǎn)生額外開銷的錯誤抑制符號,最好別用不管是性能優(yōu)化和項目的健壯性等方面。在方法中遞增局部變量,速度是最快的。類似的方法調(diào)用所花費的時間接近于次的局部變量遞增操作。 什么情況之下,會遇到PHP性能問題?1:PHP語法使用不恰當(dāng)。2:使用PHP語言做了它不擅長的事情。3:使用PHP語言連接的服務(wù)不給力。4:PHP自身的短板(PHP自身做不了的事情)。5:我們也不知道的問...
摘要:性能問題一般不會超過占整個項目性能的,一般在。內(nèi)置函數(shù)的性能優(yōu)劣。幾乎與在函數(shù)中調(diào)用局部變量的速度相當(dāng)。遞增一個全局變量要比遞增一個局部變量慢倍。類似的方法調(diào)用所花費的時間接近于次的局部變量遞增操作。 php性能怎么優(yōu)化?性能是網(wǎng)站運行是否良好的關(guān)鍵因素, 網(wǎng)站的性能與效率影響著公司的運營成本及長遠(yuǎn)發(fā)展,編寫出高質(zhì)高效的代碼是我們每個開發(fā)人員必備的素質(zhì),也是我們良好...
摘要:模板文件前端開發(fā)者將前端代碼中的所有數(shù)據(jù)替換成與服務(wù)端開發(fā)者約定好的標(biāo)簽及變量名。聲明本文是學(xué)習(xí)核心技術(shù)與最佳實踐列旭松陳文著第章模板引擎的原理與實踐學(xué)習(xí)筆記。 0x00 模板引擎的原理 模板引擎就是在模板文件中使用一系列提前約定好的標(biāo)簽代替原生PHP代碼,通過訪問一個PHP的入口文件,會有一個PHP編譯文件根據(jù)約定替換模板內(nèi)標(biāo)簽以及標(biāo)簽內(nèi)變量,最終將模板文件編譯成一個PHP文件,然后...
閱讀 2896·2021-09-28 09:36
閱讀 3655·2021-09-27 13:59
閱讀 2499·2021-08-31 09:44
閱讀 2288·2019-08-30 15:54
閱讀 2361·2019-08-30 15:44
閱讀 1196·2019-08-30 13:45
閱讀 1232·2019-08-29 18:38
閱讀 1221·2019-08-29 18:37