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

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

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

    posts - 56, comments - 77, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    class IP

        include RegexpBuilder

        def less_than_255

            _0_to_100 = repeat(digit(), 1, 2)

            _100_to_200 = "1" + _0_to_100

            _200_to_250 = "2" + either("0-4") + either("0-9")

            _250_to_255 = "25" + either("0-4")

           one_of(_0_to_100, _100_to_200, _200_to_250, _250_to_255)

        end

        def initialize

            @ip_pattern = repeat(group(group(less_than_255()) + literal(".")), 3) + group(less_than_255())

        end

        attr_reader :ip_pattern

    end


    以上是應用 RegexBuilder 書寫正則表達式例如 IP 地址的一個例子.

    RegexBuilder 的目的是試圖增強正則表達式的可讀性和可維護性

    RegexBuilder 并不是用來取代 Regexp 的, 而是輔助編寫 Regexp 構造函數需要的第一個參數.

    RegexBuilder 包含了正則表達式符號(Anchors/Character Classes/Repetition/Alternation/Grouping)到 API 的一一對應, 如 one_of => |, either => [], at_least_one => + 等.

    RegexBuilder 還包含了可以直接使用的一組常見的正則表達式, 如 IP 地址, Email 地址等.

     

    RegexBuilder 使用了Java風格的API而不是Ruby風格的API, 如 repeat(3, digit()) 而不是 digit(:repeat => 3)

    RegexBuilder 還沒實現Substitutions, 如 \0, \1, \& 等.

     

    安裝下載

    gem install regexbuilder

    http://roll-stone.googlecode.com/svn/trunk/RegexBuilder/


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲AⅤ视频一区二区三区| 一个人免费观看视频www| 国产jizzjizz免费视频| 在线观看日本亚洲一区| 37pao成人国产永久免费视频 | 色www永久免费| 在线观看亚洲精品福利片| 国产黄色免费观看| 亚洲乱码中文字幕综合| 最近免费中文字幕MV在线视频3| 久久亚洲高清观看| 最近免费中文字幕高清大全| 亚洲视频在线观看网站| 91免费精品国自产拍在线不卡| 亚洲自偷自偷在线成人网站传媒| 欧洲精品免费一区二区三区| 综合一区自拍亚洲综合图区| 亚洲综合精品网站在线观看| 中文日本免费高清| 亚洲精品视频免费在线观看| 啦啦啦中文在线观看电视剧免费版 | 色天使亚洲综合在线观看| 成人在线视频免费| 黄色免费网址大全| 亚洲av无码乱码国产精品| 91精品国产免费久久国语蜜臀| 亚洲乱码中文论理电影| 国产无遮挡裸体免费视频| 久久免费香蕉视频| 亚洲精品欧洲精品| 日韩一级视频免费观看| 国产免费伦精品一区二区三区 | 亚洲xxxx视频| 亚洲一区二区三区国产精品| 香蕉免费一区二区三区| 亚洲无mate20pro麻豆| av无码东京热亚洲男人的天堂| 中文字幕无码免费久久| 亚洲日韩精品国产一区二区三区| 国产午夜亚洲不卡| 毛片a级毛片免费播放下载|