. 匹配除換行符以外的任意一個(gè)字符
^ 匹配字符串的開始位置
$ 匹配字符串的結(jié)束位置
w 匹配字母和數(shù)字以及下劃線其中的一個(gè)字符,相當(dāng)于[_a-zA-Z0-9]
W 匹配不是字母、數(shù)字、下劃線的字符,即w的補(bǔ)集
d 匹配任意一個(gè)數(shù)字,相當(dāng)于[0-9]
D 匹配任意非數(shù)字的字符,d的補(bǔ)集
b 匹配單詞的開頭或結(jié)尾位置,用于精確匹配
eveningb Good evening leveningll 僅匹配是evening的完整單詞
B 匹配不是單詞開頭或結(jié)束的位置
BveniB Good evening veni 僅匹配單詞內(nèi)部含veni的字符串
s 匹配空格符號(hào)
S 匹配非空格符號(hào)
常用量詞主要是對前面的字符的匹配次數(shù)
* 代表連續(xù)匹配前邊的內(nèi)容任意次(換行符除外)
+ 和*類似,不同的是*可以匹配0次,而+則是匹配至少1次
? 匹配0次或1次
{n} 匹配前面的字符n次
{n,} 匹配前面的字符至少n次
{n,m} 匹配前面的字符n次到m次
[xyz] 匹配x或y或z
[a-zA-Z0-9] 匹配a-z或A-Z或0-9中任意一個(gè)字符
[^a-z] 匹配非a-z的任意字符,達(dá)到了取反的效果
() 以組的形式將多個(gè)字符作為一個(gè)整體。
如(abc){2,} 表示至少是abcabc。在一個(gè)表達(dá)式中使用多個(gè)()定義組,則使用1,2的形式來調(diào)用的定義的組。
vi/vim,grep,sed等工具遵循的是POSIX的基本語法規(guī)范,awk和egrep遵循的是POSIX擴(kuò)展語法規(guī)范。因此,這是有的對{}進(jìn)行轉(zhuǎn)義,有的不需要轉(zhuǎn)義的原因。
PCRE中常用來表示“單詞的起始或結(jié)束位置”,但Linux/Unix的工具中,通常用<來匹配“單詞的起始位置”,用>來匹配“單詞的結(jié)束位置”,sed中的y可以同時(shí)匹配這兩個(gè)位置。
不同規(guī)范中分枝匹配也有一定差別,有的用...|...,而有的用(...|...)。
使用()可以定義作用范圍,當(dāng)在一個(gè)規(guī)則中使用多個(gè)括號(hào)時(shí),可以使用1 2來調(diào)用前面括號(hào)的內(nèi)容。
((ht|f)tps?) 匹配http,https,ftp三種格式
(www.)? ?代表可以匹配0次或者1次www.
w.* 表示可以輸入任意內(nèi)容(換行符除外)
(.(com|cn|io|html|htm|))$ 可以匹配com、cn、io、html等結(jié)尾的網(wǎng)址
因此以下形式的網(wǎng)址均可以被匹配:
▼▼▼
if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
return 403;
}
----------------------------------------------、
▼▼▼
server{
listen 80;
server_name ~ ^(www.)?(.+)$;
index index.php index.html;
root /data/wwwsite/$2;
}
#此處需要說明的一點(diǎn)是在nginx中$2是對前面括號(hào)內(nèi)容的的引用,引用的是(.+),使用該正則可以用一個(gè)規(guī)則表達(dá)式區(qū)分不同域名對應(yīng)的家目錄。
更多精彩干貨分享
點(diǎn)擊下方名片關(guān)注
IT那活兒
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129916.html
摘要:那些瑣碎的知識(shí)點(diǎn)作者記錄的的很奇特很難記的知識(shí)點(diǎn)。易錯(cuò)知識(shí)點(diǎn)整理注意和的區(qū)別中和都是輸出的作用,但是兩者之間還是有細(xì)微的差別。今天手頭不忙,總結(jié)一下,分享過程中掌握的知識(shí)點(diǎn)。 深入理解 PHP 之:Nginx 與 FPM 的工作機(jī)制 這篇文章從 Nginx 與 FPM 的工作機(jī)制出發(fā),探討配置背后的原理,讓我們真正理解 Nginx 與 PHP 是如何協(xié)同工作的。 PHP 那些瑣碎的知識(shí)...
摘要:最全正則表達(dá)式總結(jié)驗(yàn)證號(hào)手機(jī)號(hào)中文郵編身份證地址等是正則表達(dá)式的縮寫,作用是對字符串執(zhí)行模式匹配。學(xué)習(xí)目標(biāo)了解正則表達(dá)式語法在中使用正則表達(dá)式在中使 JS高級(jí)技巧 本篇是看的《JS高級(jí)程序設(shè)計(jì)》第23章《高級(jí)技巧》做的讀書分享。本篇按照書里的思路根據(jù)自己的理解和經(jīng)驗(yàn),進(jìn)行擴(kuò)展延伸,同時(shí)指出書里的一些問題。將會(huì)討論安全的類型檢測、惰性載入函數(shù)、凍結(jié)對象、定時(shí)器等話題。1. 安全的類型檢測...
摘要:特意對前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...
摘要:責(zé)編現(xiàn)代化的方式開發(fā)一個(gè)圖片上傳工具前端掘金對于圖片上傳,大家一定不陌生。之深入事件機(jī)制前端掘金事件綁定的方式原生的事件綁定方式有幾種想必有很多朋友說種目前,在本人目前的研究中,只有兩種半兩種半還有半種的且聽我道來。 Ajax 與數(shù)據(jù)傳輸 - 前端 - 掘金背景 在沒有ajax之前,前端與后臺(tái)傳數(shù)據(jù)都是靠表單傳輸,使用表單的方法傳輸數(shù)據(jù)有一個(gè)比較大的問題就是每次提交數(shù)據(jù)都會(huì)刷新頁面,用...
摘要:正則起源最近看完了精通正則表達(dá)式,收獲頗豐,略過了一些晦澀難懂的理論部分,主要看了實(shí)戰(zhàn)和教程部分。然后下面說一下以上兩個(gè)基礎(chǔ)教程里沒說到的知識(shí)點(diǎn)。最后以上是我在精通正則表達(dá)式一書中得到的一些收獲,希望能分享給大家,如有錯(cuò)誤歡迎指正。 正則起源 最近看完了 《精通正則表達(dá)式》,收獲頗豐,略過了一些晦澀難懂的理論部分,主要看了實(shí)戰(zhàn)和教程部分。 下面引用一下百度百科里的內(nèi)容。 正則表達(dá)式的鼻...
摘要:詳解十大常用設(shè)計(jì)模式力薦深度好文深入理解大設(shè)計(jì)模式收集各種疑難雜癥的問題集錦關(guān)于,工作和學(xué)習(xí)過程中遇到過許多問題,也解答過許多別人的問題。介紹了的內(nèi)存管理。 延遲加載 (Lazyload) 三種實(shí)現(xiàn)方式 延遲加載也稱為惰性加載,即在長網(wǎng)頁中延遲加載圖像。用戶滾動(dòng)到它們之前,視口外的圖像不會(huì)加載。本文詳細(xì)介紹了三種延遲加載的實(shí)現(xiàn)方式。 詳解 Javascript十大常用設(shè)計(jì)模式 力薦~ ...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20