編程生活

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            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 閱讀(1438) 評論(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  回復  更多評論
            

          主站蜘蛛池模板: 普格县| 鄱阳县| 教育| 金寨县| 承德市| 澜沧| 博湖县| 浙江省| 灵丘县| 五家渠市| 英吉沙县| 海晏县| 西充县| 涡阳县| 邢台县| 深圳市| 抚宁县| 井研县| 奈曼旗| 灌阳县| 图片| 江门市| 鄯善县| 桂平市| 清水县| 乳山市| 津市市| 沙坪坝区| 旅游| 丽水市| 江西省| 老河口市| 定日县| 澄江县| 志丹县| 吉首市| 柳州市| 汉川市| 敖汉旗| 堆龙德庆县| 古浪县|