В Java я пытаюсь извлечь имена столбцов и их значения, используя regex и matcher , но не знаю, что я делаю здесь не так.
String sql = "INSERT INTO MyTable (column1, column2, column3, column4, column5 ) VALUES (1, 'Hi', 'A,B', '', null)";
String pattern = "INSERT INTO.*((\\w)+).*\\((.*)\\).*VALUES.*\\((.*)\\)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(sql);
if (m.find()) {
System.out.println("Found value: " + m.group(0));
System.out.println("Found value: " + m.group(1));
System.out.println("Found value: " + m.group(2));
} else {
System.out.println("NO MATCH");
}
< /code>
ожидание: < /strong> < /p>
Group-1 = column1, column2, column3, column4, column5
Group-2 = 1, 'Hi', 'A,B', '', null
Подробнее здесь: https://stackoverflow.com/questions/406 ... ot-working