編程生活

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            113 隨筆 :: 0 文章 :: 18 評論 :: 0 Trackbacks
          <2007年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          留言簿(5)

          隨筆檔案

          搜索

          積分與排名

          最新評論

          由于項目需要,做了一個簡單的SQL解析器,在網上查找到了兩個,根據他們的想法修改了一下,可從SQL中提取結果查詢字段和表

          以下是代碼中的一些正則表達式
          private static final String TABLE_VALUE = "([^()]+)"

          private static final String COLUMN_VALUE = "([^()]+)";

          private static final String COLUMN_NAME = "([a-zA-Z0-9_]+)(\\.)([a-zA-Z0-9_]+)";

          private static final String SQL_MATCH_REP = "(?i)select ([^;]+) (?i)from " + TABLE_VALUE;

          private static final String FROM_JOIN_VALUE = TABLE_VALUE + " (?i)join " + "([^;]+)";

          private static final String WHERE_VALUE = TABLE_VALUE + " (?i)where ([^;]+)";
          posted on 2007-11-08 09:36 wilesun 閱讀(1439) 評論(3)  編輯  收藏 所屬分類: 個人經驗

          評論

          # re: 我的SQL解析器中的用到的正則表達式 2007-11-08 09:38 wilesun
          private static final String COLUMN_NAME = "([a-zA-Z0-9_]+)(\\.)([a-zA-Z0-9_]+)";
          可以改為
          private static final String COLUMN_NAME = "([\\w]+)(\\.)([\\w]+)";
            回復  更多評論
            

          # re: 我的SQL解析器中的用到的正則表達式[未登錄] 2010-06-02 16:36 lb
          可不可以把解析器 發給我參考下 liubinxianggang@126.com  回復  更多評論
            

          # re: 我的SQL解析器中的用到的正則表達式 2010-08-11 07:42 王懷帥
          我也想要一份sql解析器的源碼,能否給一份?謝謝!wangsh8714@163.com  回復  更多評論
            

          主站蜘蛛池模板: 梧州市| 临海市| 德清县| 潞西市| 宜州市| 合肥市| 乳山市| 高清| 永胜县| 海盐县| 阳泉市| 静安区| 万安县| 阿克陶县| 丹棱县| 镇沅| 瑞安市| 柘城县| 醴陵市| 曲靖市| 岳池县| 从化市| 嘉禾县| 涟源市| 临颍县| 大丰市| 东宁县| 根河市| 马龙县| 开原市| 左贡县| 新宁县| 丘北县| 长葛市| 澜沧| 凤台县| 乐昌市| 保靖县| 兴山县| 阜康市| 肥乡县|