<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 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理


    /* 最新版本請參見 http://m.tkk7.com/chelsea/archive/2007/12/16/168118.html */


    找了半天也沒有找到創建正則表達式的DSL, 如果你知道請告訴我

    只好先自己寫來應急了: http://roll-stone.googlecode.com/svn/trunk/RegexBuilder/

    用起來類似這樣: 

    require 'regex_builder'  

    class RegexBuilderTest < Test::Unit::TestCase

      def setup

        @rb = RegexBuilder. new

      end  

      def test_ruby_start_with_r

        pattern = @rb .start_with( "r" ).to_s

        assert "ruby" .match(pattern)

      end  

      def test_ruby_start_with_r_and_end_with_y

        pattern = @rb .start_with( "r" ).any().end_with( "y" ).to_s

        assert "ruby" .match(pattern)

      end  

    end

     

    還有一個 RegexUtil 來直接提供常用的正則表達式, 如email地址,ip地址等,想到啥都可以往里加

    require 'regex_util'  

    class RegexUtilTest < Test::Unit::TestCase 

      def test_192_168_0_3_is_a_valid_ip_address

        assert "192.168.0.3" .match(RegexUtil::IP_Pattern)

      end  

      def test_500_312_0_3_is_not_a_valid_ip_address

        assert_nil( "500.312.0.3" .match(RegexUtil::IP_Pattern) )

      end  

      def test_chelsea_at_gmail_dot_com_is_a_valid_email_address

        assert "chelsea@gmail.com" .match(RegexUtil::Email_Pattern)

      end  

      def test_www_dot_google_dot_com_is_not_a_valid_email_address

        assert_nil( "www.google.com" .match(RegexUtil::Email_Pattern) )

      end  

    end

     

    很多功能都還沒提供,希望有人一起來做


    評論

    # re: RegexBuilder: A DSL for creating regular expression  回復  更多評論   

    2006-11-27 13:46 by HH
    創建正則表達式還用 DSL 嗎,手寫不就行了嗎?

    # re: RegexBuilder: A DSL for creating regular expression  回復  更多評論   

    2006-11-27 13:52 by 切爾斯基
    理由很多啊,減少出錯,易讀易懂,利于交流:

    大S和小S哪個是非空格字符哪個是空格字符?記不住啊, 看起來也不直觀, 用 @rb.non_space() 和 @rb.space() 就一目了然了

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲H在线播放在线观看H| 亚洲精品无码MV在线观看| 亚洲乱码在线视频| 免费国产黄网站在线观看可以下载| 国产日韩亚洲大尺度高清| 三级毛片在线免费观看| 色噜噜AV亚洲色一区二区| 久久久精品国产亚洲成人满18免费网站| 亚洲福利中文字幕在线网址| 无遮挡a级毛片免费看| 国产成人精品亚洲精品| 中文字幕在线观看免费| 亚洲国产成人高清在线观看| 99久久久国产精品免费蜜臀| 亚洲成人黄色网址| 曰皮全部过程视频免费国产30分钟 | 69免费视频大片| 91亚洲自偷在线观看国产馆| 最新中文字幕电影免费观看| 亚洲国产精品无码久久| 久久久久亚洲爆乳少妇无| 无码人妻一区二区三区免费n鬼沢| 中文字幕亚洲第一在线| 99久久这里只精品国产免费| 亚洲aⅴ无码专区在线观看春色| 免费一级毛片在线播放不收费| 中国国语毛片免费观看视频| 久久久久久亚洲精品中文字幕| 成人在线免费看片| 美女被暴羞羞免费视频| 久久国产精品亚洲一区二区| 国产在线观看片a免费观看| 边摸边脱吃奶边高潮视频免费| 亚洲毛片αv无线播放一区| 国产免费不卡视频| 美女扒开屁股让男人桶爽免费| 国产亚洲成AV人片在线观黄桃| 国产一卡2卡3卡4卡2021免费观看| WWW亚洲色大成网络.COM| 亚洲AV无码久久精品色欲| 大学生高清一级毛片免费|