" /> " />

精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费

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

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

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

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

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

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

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

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

 

  程序運(yùn)行界面

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

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

  一個避免過多匹配的小技巧

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

     
     
    精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费
    免费精品视频最新在线| 97精品97| 日产精品一区| 欧美日韩国产高清电影| 男女精品网站| 国产精品一区毛片| 久久香蕉网站| 亚洲精品97| 日本视频在线一区| 亚洲国产福利| 999在线观看精品免费不卡网站| 免费人成黄页网站在线一区二区| 青青草91久久久久久久久| 国产一区日韩| 91成人精品| 日本va欧美va精品| av中文资源在线资源免费观看| 蜜桃精品在线| 亚洲人成在线影院| 成人国产精品一区二区免费麻豆| 一区在线免费观看| 国产精品亚洲综合色区韩国| 久久狠狠婷婷| 日本a口亚洲| 日韩一区电影| 色综合视频一区二区三区日韩 | 精品一区三区| 亚洲精品伦理| 成人三级高清视频在线看| 老司机精品久久| 亚洲精品亚洲人成在线观看| 天堂√中文最新版在线| 日韩国产欧美三级| 一区二区小说| 国产福利资源一区| 国产精品日韩久久久| 精品一区二区三区视频在线播放| 亚洲综合欧美| 日本午夜大片a在线观看| 三级久久三级久久久| 久久九九精品| 免费在线成人| 国产精品嫩草99av在线| 国产一区二区三区四区五区| 亚洲天堂免费| 国产 日韩 欧美一区| 97精品久久| 在线亚洲国产精品网站| 丰满少妇一区| 亚洲精品中文字幕99999| 欧美aa一级| 国产福利一区二区三区在线播放| 亚洲欧美日韩一区在线观看| 91欧美在线| 国产麻豆精品| 免费不卡在线视频| 亚洲二区视频| 精品美女在线视频| 欧美一区激情| 免费中文字幕日韩欧美| 少妇精品导航| 国产一区二区三区视频在线| 国产精品综合| 亚洲狼人精品一区二区三区| 亚洲国产专区| 成人福利av| 精品入口麻豆88视频| 欧美日韩亚洲三区| 亚洲免费资源| 日本欧洲一区二区| 亚洲精品小说| 91精品亚洲| 精品国内亚洲2022精品成人| 青青草精品视频| 中文字幕亚洲精品乱码| 五月婷婷六月综合| 久久黄色影院| 成人日韩在线观看| 国产网站在线| 久久影视三级福利片| 久久成人高清| 国产精品18| 国产欧美一区| 91欧美精品| 欧美一级一区| 日韩福利在线观看| 成人一区不卡| 国产精品久久777777毛茸茸| 18国产精品| 国产亚洲精aa在线看| 日韩不卡一区二区三区| 日韩激情精品| 日本精品久久| 欧美视频精品全部免费观看| 青青国产精品| 国产日韩中文在线中文字幕| 日本不卡一区二区三区| 日韩高清欧美激情| 91精品丝袜国产高跟在线| 欧美亚洲福利| 国产精品最新| 动漫av一区| 韩国久久久久久| 日韩欧美一区二区三区免费看| 欧美黄色网页| 亚洲激情中文在线| 免费看欧美美女黄的网站| 在线亚洲精品| 一区二区精品| 日本中文字幕一区二区视频 | 亚洲午夜国产成人| 日韩高清一区二区| 欧美精品国产一区| 国产激情精品一区二区三区| 精品久久久久久久| 91综合网人人| 国产 日韩 欧美一区| 欧美日韩国产传媒| 蜜臀av一区二区在线免费观看| 亚洲精品伊人| 日韩av黄色在线| 激情不卡一区二区三区视频在线| 蘑菇福利视频一区播放| 极品日韩av| 九色精品91| 五月天久久777| 国产亚洲精品久久久久婷婷瑜伽| 伊人久久成人| 久久国产精品久久w女人spa| 亚洲少妇诱惑| 天使萌一区二区三区免费观看| 日韩精品一区二区三区免费观影| 久久久久国产一区二区| 日韩免费小视频| 久久一区二区三区电影| 欧美sss在线视频| 婷婷国产精品| 在线亚洲欧美| 婷婷综合国产| 精品视频在线观看网站| 欧美日韩视频网站| 免费视频一区二区| 麻豆精品99| 婷婷国产精品| 日韩国产欧美在线播放| 精品国产aⅴ| 成人在线网站| 日韩久久99| 桃色av一区二区| 亚洲区欧美区| 国产一区二区三区久久| 欧美日韩国产亚洲一区| 欧美日韩一区二区三区不卡视频 | 久久国产精品免费一区二区三区 | 91精品久久久久久久久久不卡| 综合国产视频| 成人亚洲一区| 亚洲午夜久久| av资源亚洲| 亚久久调教视频| 国产美女高潮在线| 偷拍亚洲精品| 亚洲成人国产| 国产免费av国片精品草莓男男| 久久精品二区三区| 日本天堂一区| 午夜国产一区二区| 国产欧美日韩精品一区二区免费| 成人啊v在线| 日本不卡中文字幕| 欧美午夜精彩| 国产精品亚洲二区| 亚洲一区日本| 日本久久黄色| 日韩区一区二| 亚洲黑丝一区二区| 欧美激情久久久久久久久久久| 影音先锋久久| 精品视频自拍| 亚洲精品少妇| 九九久久电影| 97精品国产福利一区二区三区| 久久亚洲不卡| 日韩一区二区三区免费| 国产精品网在线观看| 在线一区欧美| 欧美xxxx中国| 日本少妇一区二区| 国产精品日韩久久久| 最新中文字幕在线播放| 欧美日韩xxxx| 久久亚洲欧美| 久久久精品网| 麻豆国产一区| 日韩三级一区| 日本大胆欧美人术艺术动态| 久久黄色影院| 精品三级在线观看视频| 日韩精品欧美大片| 另类亚洲自拍|