編程生活

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            113 隨筆 :: 0 文章 :: 18 評(píng)論 :: 0 Trackbacks

          由于項(xiàng)目需要,做了一個(gè)簡單的SQL解析器,在網(wǎng)上查找到了兩個(gè),根據(jù)他們的想法修改了一下,可從SQL中提取結(jié)果查詢字段和表

          以下是代碼中的一些正則表達(dá)式
          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) 評(píng)論(3)  編輯  收藏 所屬分類: 個(gè)人經(jīng)驗(yàn)

          評(píng)論

          # re: 我的SQL解析器中的用到的正則表達(dá)式 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]+)";
            回復(fù)  更多評(píng)論
            

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

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

          主站蜘蛛池模板: 肥城市| 汉沽区| 长海县| 镇赉县| 巩留县| 新民市| 鄂州市| 望都县| 武宣县| 遵义县| 延安市| 土默特右旗| 五莲县| 奉贤区| 韶关市| 辉县市| 新蔡县| 古浪县| 海晏县| 团风县| 河源市| 咸丰县| 无锡市| 姚安县| 龙泉市| 铜川市| 宜章县| 建平县| 浦县| 政和县| 黄骅市| 绍兴县| 积石山| 渝北区| 镇坪县| 北辰区| 山东| 酉阳| 铁力市| 清流县| 威海市|