" /> " />

老司机91精品网站在线观看-老司机67194免费观看-老司国产精品视频-老熟人老女人国产老太-中文字幕日本在线-中文字幕日本一区久久

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

教程精選:正則表達(dá)式快速入門<五>

發(fā)布時(shí)間:  2012/8/13 13:53:06
 在上一篇文章里,我們介紹了正則表達(dá)式中的遞歸與替換,現(xiàn)在讓我們接觸一個(gè)學(xué)習(xí)正則表達(dá)式時(shí)方便測(cè)試使用的工具,并介紹一些正則表達(dá)式的編寫思路。

  一個(gè)學(xué)習(xí)正則表達(dá)式的便捷工具

  學(xué)習(xí)正則表達(dá)式最好的方法當(dāng)然是實(shí)踐,不過支持正則表達(dá)式的工具雖多,但如果僅僅用來做練習(xí)卻不是很方便。

  這里我向一家推薦一款專門的正則表達(dá)式編寫測(cè)試工具,PHPEdit公司的Regular Expression Editor工具。這是一個(gè)免費(fèi)軟件,主要用來調(diào)試PHP使用的Perl兼容正則表達(dá)式函數(shù)。使用它可以方便的輸入目標(biāo)字符串和正則表達(dá)式,并實(shí)時(shí)看到匹配的結(jié)果。可以到它的下載網(wǎng)頁去下載這個(gè)工具。

  程序的界面非常簡(jiǎn)明,不過使用中發(fā)現(xiàn),它的一些功能使用起來好像有問題,只有preg_match_all和preg_replace功能正常,另外在匹配模式輸入框中,不要加模式定界符,程序好像把該輸入框中的全部?jī)?nèi)容都作為模式來解析。

  好在做為一個(gè)正則表達(dá)式的練習(xí)工具,它的功能是足夠了,下面是它的運(yùn)行界面。

 

  程序運(yùn)行界面

  文中提到的各個(gè)例子都可以在里面進(jìn)行測(cè)試,在最上面的框里輸入模式,把目標(biāo)字符串寫進(jìn)中間的輸入框,點(diǎn)擊“run the regxwp”按鈕可以在下面得到匹配結(jié)果。

  正則表達(dá)式的編寫思路

  一個(gè)避免過多匹配的小技巧

  前面我們已經(jīng)多此談到書寫不合理的正則表達(dá)式引起過多匹配的問題,現(xiàn)在的問題是,如何可以盡量避免類似的情況發(fā)生。這里有個(gè)小小的技巧。

  如果你發(fā)現(xiàn)你定制模式匹配了過多的結(jié)果,一個(gè)好的方法是換個(gè)思路,與其考慮我的模式下一步需要匹配什么,不如考慮我的模式下一步需要避免匹配什么。我們可以用元字答“^”和字符類很容易的達(dá)成這種效果,這常常可以得到更精確的匹配。

  為了說明這種思路的好處我們先來舉一個(gè)與正則表達(dá)式無關(guān)的例子,考慮這樣一個(gè)問題,你把一個(gè)骰子一次拋出6的概率是六分之一,如果讓你擲六次,擲出一個(gè)6的概率是多少呢?

  可能有人會(huì)這么算,一次的概率是1/6,六次是就是6個(gè)1/6,加起來等于1。這個(gè)結(jié)果明顯是錯(cuò)的,雖然你擲了六次,但肯定不能保證必然會(huì)擲出一個(gè)6。從正向的思路解這道題看上去有點(diǎn)難。

  如果我們換個(gè)思路,解決的方法就明確多了。我們可以把這個(gè)題的問法改成這樣,如果讓你擲6次骰子,每一次都擲不出6的概率是多少?這個(gè)問題就好解多了,根據(jù)概率的乘法原理,每一次擲出不是6的點(diǎn)數(shù)的概率是5/6,而6次中每一次都不是6的概率是5/6的6次方,大概等于33%的樣子,然后用1減去這個(gè)數(shù)字就可以得到我們需要的答案。

  你可以把模式中每部分的匹配看作擲一次骰子的過程,每一部分的匹配概率與總匹配概率的情況與我們上面這個(gè)例子非常相似。

  如何提高正則表達(dá)式的解析效率

  對(duì)同樣匹配內(nèi)容的正則表達(dá)式而言,一些模式往往比另外一些模式更有效率。舉一個(gè)簡(jiǎn)單的例子,使用字符類“[aeiou]”會(huì)比使用分支選擇型模式“(a|e|i|o|u).”更有效,一般而言,使用盡可能簡(jiǎn)單和基本的模式通過會(huì)得到更高的效率。

  應(yīng)該盡可能的慎用相互嵌套的無限重復(fù)量詞,當(dāng)遇到不匹配的目標(biāo)字符串時(shí),對(duì)字符串的解析有可能花掉很可觀的時(shí)間。比如下面這個(gè)模式片斷“(a+)*”,當(dāng)遇到不匹配的目標(biāo)字符串“aaaa”時(shí),解析器會(huì)對(duì)它嘗試33種不同的匹配方法,這個(gè)數(shù)目會(huì)隨不匹配字符串長(zhǎng)度的增加而極快的增長(zhǎng)。

  一些正則表達(dá)式工具對(duì)一些特定的模式匹配進(jìn)行了優(yōu)化以提高效率,了解你使用的正則表達(dá)式工作做過些什么優(yōu)化并盡可能利用經(jīng)過優(yōu)化的模式可以大大提高你的正則表達(dá)式執(zhí)行效率。例如,PHP對(duì)形如/a+)*b /這樣的模式的解析進(jìn)行了優(yōu)化,當(dāng)模式結(jié)尾是一個(gè)確定的字符時(shí),解析器會(huì)先查找目標(biāo)的結(jié)尾是否符合模式,如果否則立刻返回失敗的匹配結(jié)果并停止解析。如果將上面的樣式改為“(a+)*\d”時(shí),因?yàn)榻Y(jié)尾不再是一個(gè)確定的字符,此模式會(huì)按正常的過程解析。如果你想看一下兩者效果的差異,你在我們前面提到的工具中,把目標(biāo)字符串設(shè)置成25個(gè)小寫的a字符,然后分別測(cè)試兩個(gè)模式,前者立刻就結(jié)束了,而后者需要等待約一秒(筆者使用的是XP1700+處理器)。

  除了盡可能利用經(jīng)過優(yōu)化的模式,對(duì)一些模式進(jìn)行重新構(gòu)造也可以大大提高效率。我們?cè)诮榻B后向斷言時(shí)介紹過的那個(gè)利用后向斷言結(jié)合一次性子模式匹配結(jié)尾的字符的方法就是一個(gè)很好的例子。

  這里我們準(zhǔn)備結(jié)束這個(gè)教程,由于篇幅和本人水平的限制文中可能會(huì)有很多疏漏,還要請(qǐng)求大家諒解。對(duì)正則表達(dá)式介紹最全面的可能還是Perl相關(guān)的一些文檔和著作,如果想對(duì)正則表達(dá)式進(jìn)行更深入的了解可以參看Jeffrey Friedl 寫的“Mastering Regular Expressions”一書,里面有很多例子。不過我覺得在了解正則表達(dá)式基本概念后,還是仔細(xì)讀一下自己經(jīng)常使用的相關(guān)工具里的正則表達(dá)式相關(guān)部分更實(shí)用一些,最后,還是那句話,實(shí)踐出真知,希望大家在不斷實(shí)踐中更好的掌握正則表達(dá)式的使用。


本文出自:億恩科技【www.ypdoo.com.cn】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線

     
     
    九九久久国产精品| 国产高清在线精品一区a| 成人a级高清视频在线观看| 999精品视频在线| 中文字幕一区二区三区 精品| 日韩一级黄色片| 国产精品自拍在线| 欧美激情在线精品video| 天天做人人爱夜夜爽2020| 久久99这里只有精品国产| 国产麻豆精品高清在线播放| 999精品视频在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲精品影院| 成人在免费观看视频国产| 天天做人人爱夜夜爽2020毛片| 成人a级高清视频在线观看| 青青久久国产成人免费网站| 国产欧美精品| 精品国产一区二区三区久 | 成人高清免费| 国产韩国精品一区二区三区| 欧美a级片视频| 午夜欧美福利| 国产91精品露脸国语对白| 美女免费黄网站| 日韩av片免费播放| 日韩专区亚洲综合久久| 欧美国产日韩一区二区三区| 99热精品在线| 精品久久久久久免费影院| 一级毛片视频免费| 免费的黄色小视频| 台湾毛片| 人人干人人草| 91麻豆精品国产自产在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美国产日韩一区二区三区| 亚飞与亚基在线观看| 亚洲精品久久玖玖玖玖| 可以免费看污视频的网站| 成人a级高清视频在线观看| 欧美日本免费| 成人免费观看的视频黄页| 美国一区二区三区| 国产亚洲免费观看| 99热精品在线| 日韩在线观看视频网站| 国产网站免费在线观看| 国产网站免费在线观看| 午夜家庭影院| 麻豆污视频| 美女免费毛片| 午夜精品国产自在现线拍| 国产福利免费视频| 久久99欧美| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 韩国三级一区| 91麻豆国产级在线| 欧美激情一区二区三区视频高清| 成人免费一级毛片在线播放视频| 毛片高清| 国产高清在线精品一区二区| 国产精品自拍在线观看| 精品国产亚洲人成在线| 成人免费观看网欧美片| a级毛片免费观看网站| 成人免费观看的视频黄页| 国产一区免费观看| 二级特黄绝大片免费视频大片| 国产精品免费久久| 精品视频在线看| 九九精品在线播放| 台湾毛片| 国产视频久久久久| 国产一级强片在线观看| 日日夜人人澡人人澡人人看免| 日韩中文字幕一区| 国产麻豆精品视频| 久草免费在线视频| 青草国产在线| 亚洲第一色在线| 国产亚洲男人的天堂在线观看| 日韩一级精品视频在线观看| 欧美另类videosbestsex| 午夜在线影院| 久久福利影视| 精品国产一区二区三区久| 99久久精品国产国产毛片| 欧美日本免费| 国产国语对白一级毛片| 99久久网站| 日韩av成人| 午夜在线观看视频免费 成人| 九九久久国产精品大片| 高清一级做a爱过程不卡视频| 99久久精品国产国产毛片| 午夜家庭影院| 国产一区精品| 日韩av片免费播放| 国产成人女人在线视频观看 | 日韩中文字幕在线观看视频| 欧美激情伊人| 黄色短视频网站| 日本特黄特黄aaaaa大片| 九九精品在线播放| 国产精品123| 麻豆网站在线免费观看| 国产一区二区精品久| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 精品毛片视频| 久久久久久久免费视频| 超级乱淫伦动漫| 91麻豆国产级在线| a级毛片免费观看网站| 国产成人精品综合久久久| 高清一级片| 亚洲天堂一区二区三区四区| 一本伊大人香蕉高清在线观看| 欧美国产日韩一区二区三区| 精品久久久久久中文| 日韩在线观看视频黄| 国产a网| 成人av在线播放| 欧美国产日韩一区二区三区| 91麻豆国产福利精品| 国产网站免费在线观看| 91麻豆精品国产自产在线| 日韩中文字幕在线观看视频| 精品国产一区二区三区国产馆| 亚洲第一色在线| 欧美一级视频免费| 沈樵在线观看福利| 99久久精品国产高清一区二区 | 欧美1卡一卡二卡三新区| 免费一级片网站| 麻豆网站在线免费观看| 麻豆污视频| 韩国三级视频在线观看| 久草免费在线视频| 精品国产三级a| 青草国产在线| 欧美激情在线精品video| 欧美激情一区二区三区视频 | 国产精品自拍在线| 久久精品大片| 午夜在线观看视频免费 成人| 色综合久久久久综合体桃花网| 九九九在线视频| 欧美大片毛片aaa免费看| 麻豆系列国产剧在线观看| 国产极品精频在线观看| 精品国产一区二区三区久| 久久99欧美| 韩国三级视频网站| 国产精品自拍亚洲| 亚洲 激情| 日本特黄特色aa大片免费| 可以免费看毛片的网站| 精品毛片视频| 日韩中文字幕在线观看视频| 精品久久久久久中文字幕一区| 国产a网| 91麻豆国产福利精品| 欧美日本免费| 91麻豆精品国产高清在线| 国产精品免费久久| 欧美激情一区二区三区在线| 青青青草影院 | 九九热国产视频| 日韩免费在线视频| 999精品在线| 999久久久免费精品国产牛牛| 91麻豆tv| 日日日夜夜操| 久久福利影视| 国产精品自拍在线观看| 成人高清视频免费观看| 久久国产精品只做精品| 天天做人人爱夜夜爽2020| 久久久久久久网| 亚洲爆爽| 精品久久久久久综合网| 国产亚洲男人的天堂在线观看| 色综合久久手机在线| 九九久久99| 国产激情视频在线观看| 91麻豆tv| 一级毛片视频免费| 九九热国产视频| 国产成人啪精品视频免费软件| 久久国产精品永久免费网站| 国产91精品露脸国语对白| 国产一区二区精品| 日韩专区在线播放| 青青青草影院| 天天色成人| 999久久狠狠免费精品| 欧美电影免费看大全|