$re = '/^(\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]+)$/m';
$str = '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)
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"
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)
2023-02-13T20:51:06.721+05:30 INFO 28357 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2023-02-13T20:51:06.721+05:30 INFO 28357 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.5]
2023-02-13T20:51:06.763+05:30 INFO 28357 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2023-02-13T20:51:06.764+05:30 INFO 28357 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 371 ms
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 \'\'
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)
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\'
2023-02-13T20:51:24.855+05:30 INFO 28357 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet \'dispatcherServlet\'
2023-02-13T20:51:24.858+05:30 INFO 28357 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms
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 \'\'';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
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 PHP, please visit: http://php.net/manual/en/ref.pcre.php