$re = '/[\s\S]{25}(?<log_level>\w+ \d).---.\[Thread-(?<thread_id>\d+)][\s\S]{42}(?(?=: debug1): (?<internal_log_level>\w+)): (?(?=(?:.*?): )(?<module>.*?): )(?<message>.*)/m';
$str = '2020-03-24 07:23:26.506 INFO 6 --- [Thread-3853] S.s.ssh-output : Allocated port 40239 for remote forward to localhost:8192
2020-03-24 07:23:26.458 INFO 6 --- [Thread-3853] S.s.ssh-output : Authenticated to tunnel.alero.io ([3.225.55.134]:443).
2020-03-24 07:23:25.972 INFO 6 --- [Thread-3853] S.s.ssh-output : OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
2020-03-24 07:22:55.949 INFO 6 --- [Thread-3851] S.s.ssh-output : ssh_exchange_identification: Connection closed by remote host
2020-03-26 14:50:11.591 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 1: connected to localhost port 8192
2020-03-26 14:50:11.591 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: confirm forwarded-tcpip
2020-03-26 14:50:11.591 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 1: new [192.168.33.160]
2020-03-26 14:50:11.591 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: connect_next: host localhost ([127.0.0.1]:8192) in progress, fd=5
2020-03-26 14:50:11.589 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: client_request_forwarded_tcpip: listen 0.0.0.0 port 40239, originator 192.168.33.160 port 37440
2020-03-26 14:50:11.589 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: client_input_channel_open: ctype forwarded-tcpip rchan 2 win 2097152 max 32768
2020-03-26 14:50:11.372 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 0: connected to localhost port 8192
2020-03-26 14:50:11.372 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: confirm forwarded-tcpip
2020-03-26 14:50:11.372 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 0: new [192.168.62.96]
2020-03-26 14:50:11.372 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: connect_next: host localhost ([127.0.0.1]:8192) in progress, fd=4
2020-03-26 14:50:11.372 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: client_request_forwarded_tcpip: listen 0.0.0.0 port 40239, originator 192.168.62.96 port 59736
2020-03-26 14:50:11.372 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: client_input_channel_open: ctype forwarded-tcpip rchan 1 win 2097152 max 32768
2020-03-26 14:50:10.872 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 0: free: 192.168.62.96, nchannels 2
2020-03-26 14:49:11.329 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 0: connected to localhost port 8192
2020-03-26 14:49:11.329 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: confirm forwarded-tcpip
2020-03-26 14:49:11.329 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 0: new [192.168.62.96]
2020-03-26 14:49:11.329 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: connect_next: host localhost ([127.0.0.1]:8192) in progress, fd=4
2020-03-26 14:49:11.328 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: client_request_forwarded_tcpip: listen 0.0.0.0 port 40239, originator 192.168.62.96 port 58296
2020-03-26 14:49:11.328 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: client_input_channel_open: ctype forwarded-tcpip rchan 1 win 2097152 max 32768
2020-03-26 14:49:10.875 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 0: free: 192.168.33.160, nchannels 2
2020-03-26 14:49:03.819 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 1: free: 192.168.33.160, nchannels 3
2020-03-26 14:48:49.820 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 8: free: 192.168.62.96, nchannels 4
2020-03-26 14:48:49.820 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 7: free: 192.168.62.96, nchannels 5
2020-03-26 14:48:49.820 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 5: free: 192.168.33.160, nchannels 6
2020-03-26 14:48:49.819 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 3: free: 192.168.33.160, nchannels 7
2020-03-26 14:48:49.819 INFO 6 --- [Thread-3853] S.s.ssh-output : debug1: channel 2: free: 192.168.33.160, nchannels 8';
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