![正則表達(dá)式入門_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d81.gif)
![正則表達(dá)式入門_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d82.gif)
![正則表達(dá)式入門_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d83.gif)
![正則表達(dá)式入門_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d84.gif)
![正則表達(dá)式入門_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-7/8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d8/11f13cbe-8c27-41ad-86d9-f7499ed1c7d85.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、正則表達(dá)式入門正則表達(dá)式入門太倉(cāng)市同維電子有限公司引言 使用Everything查找關(guān)于正則表達(dá)式的ppt,但又不知道該ppt的具體名稱,可以使用通配符“*”, *正則表達(dá)式*.ppt,這里的“*”表示了任意字符。太倉(cāng)市同維電子有限公司引言 正則表達(dá)式使用單個(gè)字符串來(lái)描述、匹配一系列符合某個(gè)句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來(lái)檢索、替換那些符合某個(gè)模式的文本。 說(shuō)簡(jiǎn)單點(diǎn),正則表達(dá)式就是在一堆有規(guī)律的字符中找到你想要的字符。太倉(cāng)市同維電子有限公司正則測(cè)試工具 推薦大家使用裝備軟件自帶的正則表達(dá)式測(cè)試工具,在DLL文件夾下的RegexTest.exe太倉(cāng)市同維電子有限公司一個(gè)
2、簡(jiǎn)單例子 在開發(fā)裝備軟件時(shí)要檢查ProductClass、SSID等,通常都是通過(guò)正則表達(dá)式在一堆字符中提取出ProductClass,然后和某一個(gè)固定的值比較。 比如要在一堆字符串中找到ProductClass RG200O-CA,源字符串為: ksdfjProductClasskdfjie:ldfiefRG200O-CAfiesdf,咋一看源字符串沒(méi)有一點(diǎn)規(guī)則可言,但是仔細(xì)觀查可以看到有ProductClass字符串可供定位,而且我們已知ProductClass格式為RG200O-CA,所以可以用正則表達(dá)式“.*ProductClass.*:.*(w6-w2).*”來(lái)匹配。 “.”表示匹配
3、除換行符以外的任意字符,“*”表示前面的“.”匹配零次或更多次,“”是轉(zhuǎn)義符號(hào),表示后面的“:”就表示冒號(hào),沒(méi)有其它含義,“w”表示匹配字母或數(shù)字或下劃線或漢字,“6”表示匹配前面的“w”6次,這個(gè)正則表達(dá)式輸出的結(jié)果為小括號(hào)里面的內(nèi)容。太倉(cāng)市同維電子有限公司一些術(shù)語(yǔ)太倉(cāng)市同維電子有限公司元字符 上一頁(yè)提到了兩個(gè)個(gè)元字符“w”和“.”,元字符表示一類特殊的字符。接下來(lái)介紹一些其它常用的元字符,這些元字符必須要牢記!代碼說(shuō)明.匹配除換行符以外的任意字符w匹配字母或數(shù)字或下劃線或漢字s匹配任意的空白符d匹配數(shù)字b匹配單詞的開始或結(jié)束匹配字符串的開始$匹配字符串的結(jié)束太倉(cāng)市同維電子有限公司限定符 在
4、前面的例子中使用了“*”和“6”限定匹配次數(shù),還有一些其它用于限定匹配次數(shù)的。代碼/語(yǔ)法說(shuō)明*重復(fù)零次或更多次+重復(fù)一次或更多次?重復(fù)零次或一次n重復(fù)n次n,重復(fù)n次或更多次n,m重復(fù)n到m次太倉(cāng)市同維電子有限公司字符集 如果想只匹配aeiou中的一個(gè),使用aeiou,0-9和d代表的含義相同,同理a-z0-9A-Z_也完全等同于w(如果只考慮英文的話),.?!匹配標(biāo)點(diǎn)符號(hà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一次或者更多次太倉(cāng)市同維電子有限公司分支條件 在中國(guó)有一些特殊號(hào)碼,比如110,119,120,現(xiàn)在我們要匹配這三個(gè)號(hào)碼中的任意一個(gè),可以使用正則表達(dá)式“110|120|119”,其中“|”是分支條件,使用“|”可以把不同的表達(dá)式分割,只要匹配到其中任意一個(gè)即可,匹配是從左到右匹配的,只要匹配到一個(gè)就不往下匹配了。 眾所周知IP地址每一位都不能大于255,在寫匹配IP地址的正則表達(dá)式時(shí),首先需要解決的是如何匹配0到255之間的數(shù)字!250-5|20-4d|1d2|dd?太倉(cāng)市同維電子有限公司分組下面是一段Ping返回結(jié)果,要求用一個(gè)正則表達(dá)式取出最小時(shí)延、
6、最大時(shí)延、平均時(shí)延,而且要兼容XP和Win7系統(tǒng)。Win7:最短 = 1ms,最長(zhǎng) = 2ms,平均 = 3msXP:Minimum = 1ms, Maximum = 2ms, Average = 3ms正則表達(dá)式(Minimum|最短)s+=s+(d+)ms,s+(Maximum|最長(zhǎng))s+=s+(d+)ms,s+(Average|平均)s+=s+(d+)ms每一個(gè)小括號(hào)括起來(lái)的都是一個(gè)分組,加上正則表達(dá)式本身就是第0個(gè)分組,所以共有7個(gè)分組Result0:Minimum = 1ms, Maximum = 2ms, Average = 3msResult1:MinimumResult2:1R
7、esult3:MaximumResult4:2Result5:AverageResult6:3太倉(cāng)市同維電子有限公司分組 分組組號(hào)分配規(guī)則: 從左向右,以分組的左括號(hào)為標(biāo)志,第一個(gè)出現(xiàn)的分組的組號(hào)為1,第二個(gè)為2,以此類推。(250-5|20-4d|1d2|dd?).)3(250-5|20-4d|1d2|dd?)上面的正則表達(dá)式使用了“.”匹配“.”,這里“”起到了轉(zhuǎn)義的作用,依次類推,可以使用“?”和“*”匹配“?”和“*”一個(gè)合法的IPv4地址正則表達(dá)式太倉(cāng)市同維電子有限公司反義 有時(shí)需要查找不屬于某個(gè)能簡(jiǎn)單定義的字符類的字符。比如想查找除了數(shù)字以外,其它任意字符都行的情況,這時(shí)需要用到反
8、義代碼/語(yǔ)法說(shuō)明W匹配任意不是字母,數(shù)字,下劃線,漢字的字符S匹配任意不是空白符的字符D匹配任意非數(shù)字的字符B匹配不是單詞開頭或結(jié)束的位置x匹配除了x以外的任意字符aeiou匹配除了aeiou這幾個(gè)字母以外的任意字符太倉(cāng)市同維電子有限公司貪婪 當(dāng)正則表達(dá)式中包含能接受重復(fù)的限定符時(shí),通常的行為是(在使整個(gè)表達(dá)式能得到匹配的前提下)匹配盡可能多的字符。以這個(gè)表達(dá)式為例:a.*b,它將會(huì)匹配最長(zhǎng)的以a開始,以b結(jié)束的字符串。如果用它來(lái)搜索aabab的話,它會(huì)匹配整個(gè)字符串a(chǎn)abab,而不能匹配到aab,這被稱為貪婪匹配。 寫出一個(gè)正則表達(dá)式匹配以a開始,以b結(jié)束的字符串a(chǎn).*b正則表達(dá)式是貪婪的!
9、正則表達(dá)式是貪婪的!a.*?b太倉(cāng)市同維電子有限公司懶惰 雖然正則是貪婪的,但有時(shí)我們更需要懶惰匹配,也就是匹配盡可能少的字符。前面給出的限定符都可以被轉(zhuǎn)化為懶惰匹配模式,只要在它后面加上一個(gè)問(wèn)號(hào)?。這樣.*?就意味著匹配任意數(shù)量的重復(fù),但是在能使整個(gè)匹配成功的前提下使用最少的重復(fù)?,F(xiàn)在看看懶惰版的例子吧: a.*?b匹配最短的,以a開始,以b結(jié)束的字符串。如果把它應(yīng)用于aabab的話,它會(huì)匹配aab(第一到第三個(gè)字符)和ab(第四到第五個(gè)字符)。代碼/語(yǔ)法說(shuō)明*?重復(fù)任意次,但盡可能少重復(fù)+?重復(fù)1次或更多次,但盡可能少重復(fù)?重復(fù)0次或1次,但盡可能少重復(fù)n,m?重復(fù)n到m次,但盡可能少重復(fù)
10、n,?重復(fù)n次以上,但盡可能少重復(fù)太倉(cāng)市同維電子有限公司一些例子 聽到這可能已經(jīng)被我繞暈了,如果你沒(méi)有暈而且還全部掌握了,那么我只能說(shuō)我講的太生動(dòng)了,接下來(lái)通過(guò)一些例子來(lái)鞏固下。匹配要求匹配要求正則表達(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的編譯時(shí)間 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+)太倉(cāng)市同維電子有限公司零寬斷言 在上一頁(yè)使用正則表達(dá)式b(w+)ingb匹配以ing為結(jié)尾的單詞,如果源字符串是“reading”,那么匹配出來(lái)的結(jié)果有兩個(gè)分組,分組0代表整個(gè)表達(dá)式reading,分組1是
12、小括號(hào)(w+)里面的內(nèi)容read,如果想分組0的結(jié)果為read該怎么辦?此時(shí)就需要用到零寬斷言了。 什么是零寬斷言呢? 正則表達(dá)式b(w+)(?=ingb)匹配出來(lái)的結(jié)果是read,(?=ing)是零寬度正預(yù)測(cè)先零寬度正預(yù)測(cè)先行斷言行斷言,它斷言自身出現(xiàn)的位置的后面能匹配表達(dá)式ing,不包含ing。 正則表達(dá)式(?=read)(w+)匹配出來(lái)的結(jié)果是ing,(?=read)是零寬度正回顧后發(fā)零寬度正回顧后發(fā)斷言斷言,它斷言自身出現(xiàn)的位置的前面能匹配表達(dá)式read,不包含read。太倉(cāng)市同維電子有限公司負(fù)向零寬斷言 匹配一個(gè)單詞,該單詞里面出現(xiàn)了a,但是a后面不是b。bw*abw*b 上面的正則表達(dá)式bw*a(?!b)w*b使用了負(fù)向零寬斷言中的零寬度負(fù)預(yù)測(cè)先零寬度負(fù)預(yù)測(cè)先行斷言行斷言,正則表達(dá)式(?!b)即斷言此位置的后面不能匹配表達(dá)式bfa ccbfa ccbbw*ab?w*bfa ccbfabw*ab?w*bfabcdefabcdebw*a(?
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三農(nóng)產(chǎn)品網(wǎng)絡(luò)營(yíng)銷作業(yè)指導(dǎo)書
- 2025年懷化考從業(yè)資格證貨運(yùn)試題
- 小學(xué)二年級(jí)數(shù)學(xué)上冊(cè)口算題
- 2025年武威貨運(yùn)上崗證模擬考試試題
- 2025年楚雄駕校考試貨運(yùn)從業(yè)資格證模擬考試
- 電力調(diào)試合同(2篇)
- 電動(dòng)車補(bǔ)充協(xié)議書范文(2篇)
- 2024-2025學(xué)年高中語(yǔ)文課時(shí)作業(yè)4毛澤東詞兩首含解析粵教版必修2
- 六年級(jí)班主任第二學(xué)期工作總結(jié)
- 小學(xué)班主任工作計(jì)劃二年級(jí)
- 中興ZCTP 5GC高級(jí)工程師認(rèn)證考試題庫(kù)匯總(含答案)
- 2023年考研考博-考博英語(yǔ)-西安建筑科技大學(xué)考試歷年真題摘選含答案解析
- 反接制動(dòng)控制線路電路圖及工作原理
- MCNP-5A程序使用說(shuō)明書
- java基礎(chǔ)知識(shí)大全
- SMM英國(guó)建筑工程標(biāo)準(zhǔn)計(jì)量規(guī)則中文 全套
- GB 18030-2022信息技術(shù)中文編碼字符集
- SB/T 10977-2013倉(cāng)儲(chǔ)作業(yè)規(guī)范
- GB/T 854-1988單耳止動(dòng)墊圈
- GB/T 2520-2017冷軋電鍍錫鋼板及鋼帶
- 【QC成果】提高地下室抗浮錨桿一次驗(yàn)收合格率
評(píng)論
0/150
提交評(píng)論