$re = '/^\[[a-z-]*\]\s[\w\d\s\-\=\"\.\:\@]+/';
$str = '[access-control]
realm-id = "name2"
description = "Register_to_Bryansk_RTU"
source-address = "0.0.0.0"
destination-address = "0.0.0.0:5060"
application-protocol = "SIP"
transport-protocol = "ALL"
[access-control]
access = "permit"
average-rate-limit = "0"
trust-level = "high"
minimum-reserved-bandwidth = "0"
invalid-signal-threshold = "0"
maximum-signal-threshold = "0"
[access-control]
untrusted-signal-threshold = "0"
nat-trust-threshold = "0"
max-endpoints-per-nat = "0"
nat-invalid-message-threshold = "0"
deny-period = "30"
cac-failure-threshold = "0"
untrust-cac-failure-threshold = "0"
[access-control]
last-modified-by = "admin@0.0.0.0"
last-modified-date = "2015-01-22 09:01:19"
[access-control]
realm-id = "name"
description = ""
source-address = "0.0.0.0"
destination-address = "0.0.0.0:5060"
application-protocol = "SIP"
transport-protocol = "ALL"
access = "permit"
average-rate-limit = "0"
trust-level = "high"
minimum-reserved-bandwidth = "0"
invalid-signal-threshold = "0"
maximum-signal-threshold = "0"
untrusted-signal-threshold = "0"
nat-trust-threshold = "0"
max-endpoints-per-nat = "0"
nat-invalid-message-threshold = "0"
deny-period = "30"
cac-failure-threshold = "0"
untrust-cac-failure-threshold = "0"
last-modified-by = "admin@0.0.0.0"
last-modified-date = "2014-10-23 11:26:39"';
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