![正則表達(dá)式入門_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d81.gif)
![正則表達(dá)式入門_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d82.gif)
![正則表達(dá)式入門_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d83.gif)
![正則表達(dá)式入門_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d84.gif)
![正則表達(dá)式入門_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、正則表達(dá)式入門正則表達(dá)式入門太倉市同維電子有限公司引言 使用Everything查找關(guān)于正則表達(dá)式的ppt,但又不知道該ppt的具體名稱,可以使用通配符“*”, *正則表達(dá)式*.ppt,這里的“*”表示了任意字符。太倉市同維電子有限公司引言 正則表達(dá)式使用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來檢索、替換那些符合某個模式的文本。 說簡單點,正則表達(dá)式就是在一堆有規(guī)律的字符中找到你想要的字符。太倉市同維電子有限公司正則測試工具 推薦大家使用裝備軟件自帶的正則表達(dá)式測試工具,在DLL文件夾下的RegexTest.exe太倉市同維電子有限公司一個
2、簡單例子 在開發(fā)裝備軟件時要檢查ProductClass、SSID等,通常都是通過正則表達(dá)式在一堆字符中提取出ProductClass,然后和某一個固定的值比較。 比如要在一堆字符串中找到ProductClass RG200O-CA,源字符串為: ksdfjProductClasskdfjie:ldfiefRG200O-CAfiesdf,咋一看源字符串沒有一點規(guī)則可言,但是仔細(xì)觀查可以看到有ProductClass字符串可供定位,而且我們已知ProductClass格式為RG200O-CA,所以可以用正則表達(dá)式“.*ProductClass.*:.*(w6-w2).*”來匹配。 “.”表示匹配
3、除換行符以外的任意字符,“*”表示前面的“.”匹配零次或更多次,“”是轉(zhuǎn)義符號,表示后面的“:”就表示冒號,沒有其它含義,“w”表示匹配字母或數(shù)字或下劃線或漢字,“6”表示匹配前面的“w”6次,這個正則表達(dá)式輸出的結(jié)果為小括號里面的內(nèi)容。太倉市同維電子有限公司一些術(shù)語太倉市同維電子有限公司元字符 上一頁提到了兩個個元字符“w”和“.”,元字符表示一類特殊的字符。接下來介紹一些其它常用的元字符,這些元字符必須要牢記!代碼說明.匹配除換行符以外的任意字符w匹配字母或數(shù)字或下劃線或漢字s匹配任意的空白符d匹配數(shù)字b匹配單詞的開始或結(jié)束匹配字符串的開始$匹配字符串的結(jié)束太倉市同維電子有限公司限定符 在
4、前面的例子中使用了“*”和“6”限定匹配次數(shù),還有一些其它用于限定匹配次數(shù)的。代碼/語法說明*重復(fù)零次或更多次+重復(fù)一次或更多次?重復(fù)零次或一次n重復(fù)n次n,重復(fù)n次或更多次n,m重復(fù)n到m次太倉市同維電子有限公司字符集 如果想只匹配aeiou中的一個,使用aeiou,0-9和d代表的含義相同,同理a-z0-9A-Z_也完全等同于w(如果只考慮英文的話),.?!匹配標(biāo)點符號(.或?或!)正則表達(dá)式正則表達(dá)式解釋解釋d3fgood.+w3,6s5,0-8?dd*匹配0到9之間的數(shù)字3次匹配food或者good匹配除換行符外任意字符一次或更多次匹配字母或數(shù)字或下劃線或漢字3到6次匹配空格5次或者5
5、次以上匹配0到8零次或者一次匹配0到9一次或者更多次太倉市同維電子有限公司分支條件 在中國有一些特殊號碼,比如110,119,120,現(xiàn)在我們要匹配這三個號碼中的任意一個,可以使用正則表達(dá)式“110|120|119”,其中“|”是分支條件,使用“|”可以把不同的表達(dá)式分割,只要匹配到其中任意一個即可,匹配是從左到右匹配的,只要匹配到一個就不往下匹配了。 眾所周知IP地址每一位都不能大于255,在寫匹配IP地址的正則表達(dá)式時,首先需要解決的是如何匹配0到255之間的數(shù)字!250-5|20-4d|1d2|dd?太倉市同維電子有限公司分組下面是一段Ping返回結(jié)果,要求用一個正則表達(dá)式取出最小時延、
6、最大時延、平均時延,而且要兼容XP和Win7系統(tǒng)。Win7:最短 = 1ms,最長 = 2ms,平均 = 3msXP:Minimum = 1ms, Maximum = 2ms, Average = 3ms正則表達(dá)式(Minimum|最短)s+=s+(d+)ms,s+(Maximum|最長)s+=s+(d+)ms,s+(Average|平均)s+=s+(d+)ms每一個小括號括起來的都是一個分組,加上正則表達(dá)式本身就是第0個分組,所以共有7個分組Result0:Minimum = 1ms, Maximum = 2ms, Average = 3msResult1:MinimumResult2:1R
7、esult3:MaximumResult4:2Result5:AverageResult6:3太倉市同維電子有限公司分組 分組組號分配規(guī)則: 從左向右,以分組的左括號為標(biāo)志,第一個出現(xiàn)的分組的組號為1,第二個為2,以此類推。(250-5|20-4d|1d2|dd?).)3(250-5|20-4d|1d2|dd?)上面的正則表達(dá)式使用了“.”匹配“.”,這里“”起到了轉(zhuǎn)義的作用,依次類推,可以使用“?”和“*”匹配“?”和“*”一個合法的IPv4地址正則表達(dá)式太倉市同維電子有限公司反義 有時需要查找不屬于某個能簡單定義的字符類的字符。比如想查找除了數(shù)字以外,其它任意字符都行的情況,這時需要用到反
8、義代碼/語法說明W匹配任意不是字母,數(shù)字,下劃線,漢字的字符S匹配任意不是空白符的字符D匹配任意非數(shù)字的字符B匹配不是單詞開頭或結(jié)束的位置x匹配除了x以外的任意字符aeiou匹配除了aeiou這幾個字母以外的任意字符太倉市同維電子有限公司貪婪 當(dāng)正則表達(dá)式中包含能接受重復(fù)的限定符時,通常的行為是(在使整個表達(dá)式能得到匹配的前提下)匹配盡可能多的字符。以這個表達(dá)式為例:a.*b,它將會匹配最長的以a開始,以b結(jié)束的字符串。如果用它來搜索aabab的話,它會匹配整個字符串a(chǎn)abab,而不能匹配到aab,這被稱為貪婪匹配。 寫出一個正則表達(dá)式匹配以a開始,以b結(jié)束的字符串a(chǎn).*b正則表達(dá)式是貪婪的!
9、正則表達(dá)式是貪婪的!a.*?b太倉市同維電子有限公司懶惰 雖然正則是貪婪的,但有時我們更需要懶惰匹配,也就是匹配盡可能少的字符。前面給出的限定符都可以被轉(zhuǎn)化為懶惰匹配模式,只要在它后面加上一個問號?。這樣.*?就意味著匹配任意數(shù)量的重復(fù),但是在能使整個匹配成功的前提下使用最少的重復(fù)?,F(xiàn)在看看懶惰版的例子吧: a.*?b匹配最短的,以a開始,以b結(jié)束的字符串。如果把它應(yīng)用于aabab的話,它會匹配aab(第一到第三個字符)和ab(第四到第五個字符)。代碼/語法說明*?重復(fù)任意次,但盡可能少重復(fù)+?重復(fù)1次或更多次,但盡可能少重復(fù)?重復(fù)0次或1次,但盡可能少重復(fù)n,m?重復(fù)n到m次,但盡可能少重復(fù)
10、n,?重復(fù)n次以上,但盡可能少重復(fù)太倉市同維電子有限公司一些例子 聽到這可能已經(jīng)被我繞暈了,如果你沒有暈而且還全部掌握了,那么我只能說我講的太生動了,接下來通過一些例子來鞏固下。匹配要求匹配要求正則表達(dá)式正則表達(dá)式格式為2014/4/24的日期d1,4/(10-2|0?1-9)/(301|21d|0?1-9)格式為XX:XX:XX:XX:XX:XX的MAC地址(0-9a-fA-F)4.)2(0-9a-fA-F)4)格式為XXXX.XXXX.XXXX的MAC地址(0-9a-fA-F)2:)5(0-9a-fA-F)2)格式為ChinaNet-XXXX的SSID,X采用0-9、a-z、A-ZChin
11、aNet-(0-9a-zA-Z)4格式為HGU421N v3的ProductClass w7sw2格式為Apr 15 2014 20:55:34的編譯時間 w3s*(301|21d|0?1-9)s*d4s*(20-4|1d|0?1-9):(60|1-5d|0?1-9):(60|1-5d|0?1-9)正數(shù)、負(fù)數(shù)和小數(shù) +-?d+.d+以ing結(jié)尾的單詞 b(w+)ingb格式為的姓名 (w+)太倉市同維電子有限公司零寬斷言 在上一頁使用正則表達(dá)式b(w+)ingb匹配以ing為結(jié)尾的單詞,如果源字符串是“reading”,那么匹配出來的結(jié)果有兩個分組,分組0代表整個表達(dá)式reading,分組1是
12、小括號(w+)里面的內(nèi)容read,如果想分組0的結(jié)果為read該怎么辦?此時就需要用到零寬斷言了。 什么是零寬斷言呢? 正則表達(dá)式b(w+)(?=ingb)匹配出來的結(jié)果是read,(?=ing)是零寬度正預(yù)測先零寬度正預(yù)測先行斷言行斷言,它斷言自身出現(xiàn)的位置的后面能匹配表達(dá)式ing,不包含ing。 正則表達(dá)式(?=read)(w+)匹配出來的結(jié)果是ing,(?=read)是零寬度正回顧后發(fā)零寬度正回顧后發(fā)斷言斷言,它斷言自身出現(xiàn)的位置的前面能匹配表達(dá)式read,不包含read。太倉市同維電子有限公司負(fù)向零寬斷言 匹配一個單詞,該單詞里面出現(xiàn)了a,但是a后面不是b。bw*abw*b 上面的正則表達(dá)式bw*a(?!b)w*b使用了負(fù)向零寬斷言中的零寬度負(fù)預(yù)測先零寬度負(fù)預(yù)測先行斷言行斷言,正則表達(dá)式(?!b)即斷言此位置的后面不能匹配表達(dá)式bfa ccbfa ccbbw*ab?w*bfa ccbfabw*ab?w*bfabcdefabcdebw*a(?
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度房屋抵押借款合同:民間借貸房產(chǎn)版
- 2025年度教師實習(xí)期間實習(xí)單位與實習(xí)教師信息保密協(xié)議
- 2025年舒巴坦酸項目可行性研究報告
- 2025年中國電動永磁起重器市場發(fā)展前景預(yù)測及投資戰(zhàn)略咨詢報告
- 2025年度合同履行擔(dān)保信用評估與擔(dān)保額度確定合同
- 2025年化工涂料制品行業(yè)深度研究分析報告
- 2025年度教育數(shù)據(jù)安全保障與處理合同
- 2025年康利食品項目投資可行性研究分析報告
- 中國液壓粉碎鉗行業(yè)市場發(fā)展監(jiān)測及投資潛力預(yù)測報告
- 2025年度城市軌道交通工程合同協(xié)議
- 2025年中國山泉水市場前景預(yù)測及投資規(guī)劃研究報告
- 部編五下語文教學(xué)多元評價方案
- GB/T 18109-2024凍魚
- 《榜樣9》觀后感心得體會二
- 《西安交通大學(xué)》課件
- 小學(xué)二年級數(shù)學(xué)計算題共4165題
- 一氧化碳中毒培訓(xùn)
- 初二上冊好的數(shù)學(xué)試卷
- 廣東省潮州市2024-2025學(xué)年九年級上學(xué)期期末道德與法治試卷(含答案)
- 突發(fā)公共衛(wèi)生事件衛(wèi)生應(yīng)急
- 部編版2024-2025學(xué)年三年級上冊語文期末測試卷(含答案)
評論
0/150
提交評論