編程生活

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            113 隨筆 :: 0 文章 :: 18 評論 :: 0 Trackbacks

          由于項目需要,做了一個簡單的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 閱讀(1444) 評論(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  回復  更多評論
            

          主站蜘蛛池模板: 阜南县| 大埔县| 涟源市| 商水县| 宁陵县| 安多县| 霍州市| 紫金县| 舞阳县| 万荣县| 罗城| 高雄县| 黄山市| 三门县| 拜泉县| 响水县| 苏尼特右旗| 肥城市| 渝中区| 岳普湖县| 平谷区| 龙门县| 太谷县| 安多县| 虎林市| 马尔康县| 宾阳县| 景德镇市| 镇坪县| 驻马店市| 炉霍县| 哈尔滨市| 大悟县| 南郑县| 和顺县| 阳城县| 新安县| 施秉县| 宜都市| 云梦县| 安徽省|