import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "SQL: \\[\\d+\\] (?<sql>.*) Sent SQL: \\[\\d+\\] (?<send_sql>.*) Params:";
final String string = "SQL: [126] INSERT INTO `tbl_ip_data` (`ip_start`, `ip_end`, `region_id`, `country_id`, `create_at`)\n"
+ "VALUES (:v0d, :v1d, :v2d, :v3d, :v4d) Sent SQL: [163] INSERT INTO `tbl_ip_data` (`ip_start`, `ip_end`, `region_id`, `country_id`, `create_at`)\n"
+ " VALUES ('1900145563', '1900145563', '440118', 'CN', '2022-04-15 21:46:42') Params: 5 Key: Name: [4] :v0d paramno=-1 name=[4] \":v0d\" is_param=1 param_type=2 Key: Name: [4] :v1d paramno=-1 name=[4] \":v1d\" is_param=1 param_type=2 Key: Name: [4] :v2d paramno=-1 name=[4] \":v2d\" is_param=1 param_type=2 Key: Name: [4] :v3d paramno=-1 name=[4] \":v3d\" is_param=1 param_type=2 Key: Name: [4] :v4d paramno=-1 name=[4] \":v4d\" is_param=1 param_type=2 [] []";
final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
final Matcher matcher = pattern.matcher(string);
if (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html