const regex = new RegExp('^(\\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]+)$', 'mg')
const 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 ''`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    
    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}
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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions