<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-199  評論-203  文章-11  trackbacks-0
       獲取每次使用引起小損失的分組。如果你實際并不需要獲取一個分組內的文本,那么就使用非捕獲分組。例如使用“(?:X)”代替“(X)”。

        讓引擎完成優化(Let the engine do the work for you)

        如上面我所提到的,java.util.regex包可以編JAVA譯正則表達式時對其優化。例如,正則表達式中包含了一個必須在輸入字符串中出現的字符串(或者整個表達式都不匹配),引擎有時會首先搜索該字符串,如果沒有找到匹配就會報告失敗,不再檢查整個正則表達式。

        另外非常有用地自動優化正則表達式的方式讓引擎根據正則表達式中的期望長度檢查輸入字符串的長度。例如,表達式“\d{100}”是內在優化的,以致于如果輸入字符串不是JAVA100個字符,引擎就會報告失敗,而不再考察整個正則表達式。

        無論何時編寫復雜的正則表達式時,嘗試找出一種編寫方式使引擎可以識別和優化這些特殊情況。例如,不要在分組或選擇中隱藏命令字符串,因為引擎不會識別它們。若有可能,指定你想要匹JAVA配的輸入字符串的長度也是相當有用的,如上例所示。

        優化貪婪模式和勉強模式(Optimizing greedy and reluctant quantifiers)

        你已經有了如何優化正則表達式的基本概念,其中一些方式可以JAVA讓引擎來完成優化。現在我們討論優化貪婪模式和勉強模式。貪婪模式量詞如“*”或“+”,會首先從輸入字符串中嘗試匹配盡可能多的字符,即使這意味著字符串中的剩下的內容已經不足以匹配正則表達式的其余部分。如果是這樣,貪婪模式量詞就會回縮,返回字符,知道可以完全匹配或者沒有字符了。勉強(或者lazy)模式,另一方面,會首先嘗試匹配輸入字符串中盡可能少的字符。

    posted on 2009-04-06 20:12 Werther 閱讀(263) 評論(1)  編輯  收藏 所屬分類: 10.Java

    評論:
    # re: 淺談Java中正則表達式的優化方法 2009-04-07 08:00 | shivaree
    補一句獨占模式,吃多少算多少,吃不準滾蛋。呵呵。  回復  更多評論
      
    主站蜘蛛池模板: 极品色天使在线婷婷天堂亚洲| 亚洲av无码电影网| 精品国产免费一区二区三区| 四虎永久成人免费| 免费人成再在线观看网站| 国产做床爱无遮挡免费视频| 亚洲欧美日韩综合久久久久| 成在线人永久免费视频播放| 亚洲美国产亚洲AV| 国产视频精品免费| 香港一级毛片免费看| 亚洲情a成黄在线观看| a毛片成人免费全部播放| 国产亚洲综合网曝门系列| 中文字幕久精品免费视频| 亚洲小视频在线观看| 在线观看H网址免费入口| 77777午夜亚洲| 一级毛片直播亚洲| 久久www免费人成看国产片| 亚洲AV无码久久精品色欲| 永久免费在线观看视频| 亚洲日本国产综合高清| 午夜国产羞羞视频免费网站| 一级人做人爰a全过程免费视频| 国产亚洲成AV人片在线观黄桃| 桃子视频在线观看高清免费视频| 亚洲成av人片不卡无码| 在线免费观看中文字幕| 午夜不卡AV免费| 337p欧洲亚洲大胆艺术| 精品国产麻豆免费网站| 狠狠躁狠狠爱免费视频无码| 亚洲美女视频一区二区三区| 免费爱爱的视频太爽了| 91精品全国免费观看青青| 亚洲一区二区三区免费观看| 免费一看一级毛片| 足恋玩丝袜脚视频免费网站| 国产午夜亚洲精品不卡电影| 亚洲男人第一av网站|