import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}(?:Z|[+-]\\d{2}:\\d{2}))\\s*(\\w+)\\s*(\\d*)\\s*---\\s*\\[\\s*([a-zA-Z0-9\\._-]+)?\\]\\s*([^\\s]+)\\s*:\\s*([^\\n]+)$";
final String string = "2023-02-13T20:51:06.372+05:30 INFO 28357 --- [ main] com.example.demo.DemoApplication : Starting DemoApplication using Java 17.0.2 with PID 28357 (/Users/snehangshub/Documents/Experiments/demo/build/classes/java/main started by snehangshub in /Users/snehangshub/Documents/Experiments/demo)\n"
+ "2023-02-13T20:51:06.373+05:30 INFO 28357 --- [ main] com.example.demo.DemoApplication : No active profile set, falling back to 1 default profile: \"default\"\n"
+ "2023-02-13T20:51:06.715+05:30 INFO 28357 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)\n"
+ "2023-02-13T20:51:06.721+05:30 INFO 28357 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]\n"
+ "2023-02-13T20:51:06.721+05:30 INFO 28357 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.5]\n"
+ "2023-02-13T20:51:06.763+05:30 INFO 28357 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext\n"
+ "2023-02-13T20:51:06.764+05:30 INFO 28357 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 371 ms\n"
+ "2023-02-13T20:51:06.899+05:30 INFO 28357 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''\n"
+ "2023-02-13T20:51:06.903+05:30 INFO 28357 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 0.684 seconds (process running for 0.832)\n"
+ "2023-02-13T20:51:24.855+05:30 INFO 28357 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'\n"
+ "2023-02-13T20:51:24.855+05:30 INFO 28357 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'\n"
+ "2023-02-13T20:51:24.858+05:30 INFO 28357 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms\n"
+ "2023-02-13T19:09:07.379Z INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (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