Primary和Unique键的正则表达式

时间:2013-05-16 09:55:58

标签: java javascript regex

查找PRIMARY KEY和UNIQUE KEY ::

的正则表达式是什么

示例创建查询:

CREATE TABLE `empiccrdb` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `ccrId` INT(11) NOT NULL DEFAULT '0',
  `data` MEDIUMTEXT,
  `delflag` TINYINT(2) DEFAULT '0',
  `isEncrypted` TINYINT(2) DEFAULT '0',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `ccrId` (`ccrId`)
) ENGINE=INNODB AUTO_INCREMENT=829 DEFAULT CHARSET=latin1

1 个答案:

答案 0 :(得分:1)

严格来说,正如您对问题的评论所暗示的那样,除非您绝对必须,否则最好避免使用String解析/处理其他代码。

它引发了构建过程中的复杂性以及未来变更控制的问题。

也许您最好与数据库交谈,确定表格结构并从那里找到密钥?

话虽如此,这里有一个可以帮助你的java正则表达式:

    String sql = "... put it here ...";

    String regex = "(PRIMARY|UNIQUE) KEY[ `a-zA-z]+\\(`([a-zA-Z]+)`\\)";
    Matcher matcher = Pattern.compile(regex).matcher(sql);
    while (matcher.find()) {
        System.out.println(matcher.group(1) + ": " + matcher.group(2));
    }
相关问题