$re = '/(?(DEFINE)
(?P<realEnd>
(?(3)\>)
(?(4)\))
(?(5)\])
(?(6)\})
(?(7)\7)
)
)
#Ограничитель 1
((\<)|(\()|(\[)|(\{)|
((?=[[:ascii:]])[^\s\w\\\\\)\]\}\>]))
#Шаблон
(
(?:
\\\\. | # что-то экранированое ИЛИ
(?!(?P>realEnd)). # что угодно кроме ограничителя
)*+
)
#Ограничитель 2
(?P>realEnd)
#Модификаторы шаблонов
#PHP [mixXsuUAJ] JavaScript [gmi] python [gmixsu]
((?:[mixXsuUAJ]*)|(?(?=.*?[mixXsuUAJ]+)[mixXsuUAJ]+))/xs';
$str = 'test $ffsd\\$ggg\\\\\\\\\\\\\\\\$iU';
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