当前位置: 代码迷 >> J2SE >> java正则表达式截取字符串,该如何解决
  详细解决方案

java正则表达式截取字符串,该如何解决

热度:70   发布时间:2016-04-23 19:37:59.0
java正则表达式截取字符串
请大家帮忙写下insert  into `admin_user`(`id`,`user_id`,`user_name`,`name`,`time`) 提取里面的表明和属性字段  即``中的字符串
------解决思路----------------------

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.ArrayList;

public class Test{
public static void main(String[] args){
process();
}

private static void process(){
String regex = "(?:'([\\w_]+?)'\\()?'([\\w_]+)'";  //group(1)获取Table的名称,并且只在第一次符合条件.后续都将获取不到
                                                     //group(2)用于获取att的名称.
String content = "insert  into 'admin_user'('id','user_id','user_name','name','time') ";
String tableName = "";
ArrayList<String> attsList = new ArrayList<String>();
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content);

while(matcher.find()){
if(matcher.group(1) != null){
tableName += matcher.group(1);
}
attsList.add(matcher.group(2));
}

System.out.println("Table Name:" + tableName);
System.out.println("Attributes:");
for(int i = 0 ; i < attsList.size() ; i ++){
System.out.println(attsList.get(i));
}
}
}
  相关解决方案