首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请问一个截取SQL字符串正则表达式的写法

2012-03-05 
请教一个截取SQL字符串正则表达式的写法有这样一条数据:String str ~~UPDATE SY_TABLE_FIELD SETFIELD_

请教一个截取SQL字符串正则表达式的写法
有这样一条数据:
 String str = "~~UPDATE SY_TABLE_FIELD SET FIELD_DEFAULT='王' where FIELD_CODE='XYHY_QYDD' AND TABLE_CODE='EQ_XYHY';@@ALTER TABLE EQ_XYHY MODIFY(XYHY_QYDD DEFAULT '王');~~UPDATE EQ_XYHY SET XYHY_HYBH='测试数据',XYHY_QUAN=30 WHERE XYHY_CODE='00000000000000000603'";

我要得到两部分sql语句DML/DDL
@@字符用于表示DDL语句
~~用于表示DML语句

[解决办法]
好家伙,把正则表达式当语法分析工具用啊
[解决办法]
不会正则的人泪奔咩~~``

Java code
public void ybygjy(String str){  List<String> dml = new ArrayList<String>();  List<String> ddl = new ArrayList<String>();   String[] sqlArray = str.split("~~");  for(String s : sqlArray)  {    String[] sql = s.split("@@");        if(sql!=null && sql.length>0)    {      if( sql[0]!=null && !"".equals(sql[0]) )      {        dml.add(sql[0]);      }    }    else    {      break;    }            for(int i=1;i<sql.length;i++)    {      if( sql[i]!=null && !"".equals(sql[i]) )      {        ddl.add(sql[i]);      }    }  }} 

热点排行