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


    /* 最新版本請(qǐng)參見 http://www.tkk7.com/chelsea/archive/2007/12/16/168118.html */


    找了半天也沒有找到創(chuàng)建正則表達(dá)式的DSL, 如果你知道請(qǐng)告訴我

    只好先自己寫來應(yīng)急了: 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

     

    還有一個(gè) RegexUtil 來直接提供常用的正則表達(dá)式, 如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

     

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


    評(píng)論

    # re: RegexBuilder: A DSL for creating regular expression  回復(fù)  更多評(píng)論   

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

    # re: RegexBuilder: A DSL for creating regular expression  回復(fù)  更多評(píng)論   

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

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

    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 手机在线毛片免费播放| 波多野结衣在线免费观看| 国产黄在线观看免费观看不卡| 成在人线av无码免费高潮水| 女人体1963午夜免费视频| 久草视频在线免费| 亚洲第一福利网站在线观看| 久久精品亚洲中文字幕无码网站 | 无人视频免费观看免费视频| 黄色免费在线网站| 四虎影视免费在线| 亚洲午夜国产精品无码老牛影视| 久久亚洲精品中文字幕| 免费观看四虎精品成人| 亚洲精品97久久中文字幕无码| 亚洲日本香蕉视频| 本免费AV无码专区一区| 亚洲国产精品无码久久一线| 国产亚洲精彩视频| 免费毛片a在线观看67194| 久久精品国产亚洲一区二区三区 | 日产乱码一卡二卡三免费| 亚洲va在线va天堂va888www| 一级做a爱片特黄在线观看免费看| 五月婷婷在线免费观看| 精品丝袜国产自在线拍亚洲| 国产午夜成人免费看片无遮挡 | 亚洲精品无码不卡| 国产午夜成人免费看片无遮挡| 亚洲精品视频在线| 日本免费一区尤物| 91精品成人免费国产| 2048亚洲精品国产| 色吊丝性永久免费看码| 免费人成在线观看网站品爱网日本| 亚洲av无码不卡久久| 亚洲国产精品免费观看| 日本永久免费a∨在线视频| 亚洲一区二区三区四区在线观看| 大学生美女毛片免费视频| 好男人资源在线WWW免费|