編程生活

             :: 首頁 :: 新隨筆 :: 聯(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 閱讀(1444) 評(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)論
            

          主站蜘蛛池模板: 太白县| 藁城市| 沿河| 靖宇县| 磴口县| 陈巴尔虎旗| 阜新市| 镇原县| 贵德县| 长春市| 阿尔山市| 宣城市| 莱芜市| 灵宝市| 桦南县| 利辛县| 苍南县| 宣城市| 新营市| 鸡西市| 淄博市| 乌鲁木齐县| 全南县| 淳安县| 志丹县| 双柏县| 淄博市| 城固县| 威海市| 威宁| 永嘉县| 岳阳县| 彩票| 隆回县| 柯坪县| 客服| 荆州市| 广安市| 安龙县| 卓尼县| 开远市|