$re = '/^(?P<nlb_type>tls)\s*(?P<nlb_version>1\.0)\s*(?P<nlb_timestamp>[^\s]+)\s*(?P<nlb_elb>[^\s]+)\s*(?P<nlb_listener>[^\s]+)\s*(?P<nlb_client_addr>[^:]+):\s*(?P<nlb_client_port>[^\s]+)\s*(?P<nlb_target_addr>[^:]+):\s*(?P<nlb_target_port>[^\s]+)\s*(?P<nlb_connection_time>[^\s]+)\s*(?P<nlb_tls_handshake_time>[^\s]+)\s*(?P<nlb_received_bytes>[^\s]+)\s*(?P<nlb_sent_bytes>[^\s]+)\s*(?P<nlb_Incoming_tls_alert>[^\s]+)\s*(?P<nlb_chosen_cert_arn>[^\s]+)\s*(?P<nlb_chosen_cert_serial>[^\s]+)\s*(?P<nlb_tls_cipher>[^\s]+)\s*(?P<nlb_tls_protocol_version>[^\s]+)\s*(?P<nlb_tls_named_group>[^\s]+)\s*(?P<nlb_domain_name>[^\s]+)/m';
$str = 'tls 1.0 2018-12-20T02:59:40 net/my-network-loadbalancer/c6e77e28c25b2234 g3d4b5e8bb8464cd
72.21.218.154:51341 172.100.100.185:443 5 2 98 246 -
arn:aws:acm:us-east-2:671290407336:certificate/2a108f19-aded-46b0-8493-c63eb1ef4a99 -
ECDHE-RSA-AES128-SHA tlsv12 -
my-network-loadbalancer-c6e77e28c25b2234.elb.us-east-2.amazonaws.com';
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