当前位置: 代码迷 >> J2EE >> 正则表达式,该怎么处理
  详细解决方案

正则表达式,该怎么处理

热度:64   发布时间:2016-04-22 01:51:05.0
正则表达式
下面这个正则啥意思 请正则高手请教: 
String regex = "\\s*`([^`]*)`\\s*(\\w+[^ ]*)\\s*(NOT\\s+NULL\\s*)?(DEFAULT\\s*([^ ]*|NULL|'0'|''|CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)\\s*)?(COMMENT\\s*'([^']*)')?\\s*,\\s*";

------解决方案--------------------
例如:
`funName` varchar(128) NOT NULL COMMENT '权限名称',
能匹配上
------解决方案--------------------
sql 建表语句 类似下面这种
SQL code
CREATE TABLE `pw_weibo_item` (  `iid` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '分享id',  `mid` int(10) unsigned NOT NULL COMMENT '微博id',  `uid` int(10) NOT NULL DEFAULT '1',  `ptid` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '合作伙伴id,0为自己',  `item_title` varchar(50) DEFAULT NULL COMMENT '标题',  `item_pic` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '图片',  `item_price` smallint(5) unsigned DEFAULT '0' COMMENT '价格',   `item_tag` varchar(200) DEFAULT NULL COMMENT '标签',  `item_url` varchar(200) DEFAULT NULL COMMENT '链接',  `item_top_pic` varchar(200) NOT NULL COMMENT '宣传图片,系统生成,用于在微博传播',  `item_content` varchar(500) DEFAULT NULL COMMENT '内容,推荐理由',  `add_time` datetime DEFAULT NULL COMMENT '添加时间',  PRIMARY KEY (`iid`),  KEY `mid` (`mid`)) ENGINE=MyISAM AUTO_INCREMENT=39 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC COMMENT='微博商品分享'
------解决方案--------------------
0或多个空格+ 单引号 + 任何不是单引号字符0或多个 + 单引号 + 0或多个空格 + 字符最少一个 + 非空格字符0或多个 + 0或多个空格 + (NOT 0或多空格 NULL 0或多个空格)最多一次 + (DEFAULT 空格 非空格字符n个或NULL或'0'或''或CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 0或多个空格)最多一次+(COMMENT 空格 ' 非单引号字符0或多个 ')最多一次 空格0或多个 逗号 空格0或多个

也就是说
'string123-/*' 123456789abcd_sdllzkej)% NOT NULL ,
或者
'sldkgn88'123aldkjf DEFAULT'' COMMENT '' ,
或者
'string123-/*' 123f ,
之类