String sql = "INSERT INTO AB(A,B,C,D,E) VALUES(?,?,?,?,?)";
sql = sql.toUpperCase();
String str="
\\s*INSERT\\s+INTO\\s+([^\\(]+)\\(([^\\)]+)\\)\\s*VALUES\\s*\\(([^\\)]+)\\)\\s*";
Pattern p = Pattern.compile(str);
Matcher m = p.matcher(sql);
m.find();
String table = m.group(1);
String cols = m.group(2);
String values = m.group(3);
System.out.println("table ==== " + table); //AB
System.out.println("cols ==== " + cols); //A﹐B﹐C﹐D﹐E
System.out.println("values ==== " + values); //﹖﹐﹖﹐﹖﹐﹖﹐﹖
註﹕.表示任何字符
[abc]表示abc之一字符
[^abc]表示非abc的一字符
\s表示空格﹐tab,換行﹐換頁﹐回車
\S表示非空格﹐tab,換行﹐換頁﹐回車
\d表示數字[0-9]
\D表示非數字[^0-9]
\w表示詞字符[a-zA-Z0-9]
\W表示非詞字符[^a-zA-Z0-9]
匹配量詞 X? 表示1或0個X
X* 表示0或n個X
X+表示1或n個X