读书人

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

发布时间: 2012-03-05 11:54:02 作者: rapoo

请教一个截取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]);      }    }  }} 

读书人网 >J2SE开发

热点推荐