<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/


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲一级Av无码毛片久久精品 | 国产女高清在线看免费观看| 亚洲国产精品综合福利专区| **aaaaa毛片免费| 久久久久久亚洲精品成人| 日韩精品内射视频免费观看| 亚洲av成人无码久久精品| 三年片在线观看免费| 久久久久亚洲AV成人无码| 免费A级毛片无码A∨| 亚洲精品伊人久久久久| 午夜免费福利在线| 四虎永久在线精品免费一区二区| 免费很黄很色裸乳在线观看| 一级做a爰片久久毛片免费看| 亚洲一区二区三区国产精品| 国产精品免费久久久久电影网| 国产亚洲精久久久久久无码| 中文字幕免费在线观看| 亚洲国产综合精品中文第一| 国产乱人免费视频| 中文字幕在线免费看| 亚洲精品视频观看| 爽爽日本在线视频免费| 国产精品偷伦视频免费观看了| 久久精品国产亚洲AV麻豆~| 亚洲国产精品免费观看| 怡红院亚洲红怡院在线观看| 国产亚洲日韩一区二区三区| 2021国内精品久久久久精免费| 亚洲色丰满少妇高潮18p| 国产精品亚洲不卡一区二区三区 | 成年女人18级毛片毛片免费| 国产精品亚洲专区一区| 国产亚洲精品岁国产微拍精品| A在线观看免费网站大全| 添bbb免费观看高清视频| 久久亚洲国产午夜精品理论片| 四虎永久在线观看免费网站网址 | 一个人免费观看www视频在线| 香蕉97碰碰视频免费|