$re = '/^{%\s+include\s+[\'\"]([^{]+)[\'\"].*?%}$/m';
$str = '{% include \'Components/_datetime.html.twig\' with {\'event_count\': event_count, \'hide_time\': false} %}
{% include \'sidebar.html\' ignore missing %}
{% include \'sidebar.html\' ignore missing with {\'foo\': \'bar\'} %}
{% include \'sidebar.html\' ignore missing only %}
{% include "Components/_datetime.html.twig" with {\'event_count\': event_count, \'hide_time\': false} %}
{% include "sidebar.html" ignore missing %}
{% include "sidebar.html" ignore missing with {\'foo\': \'bar\'} %}
{% include "sidebar.html" ignore missing only %}
{% include [\'page_detailed.html\', \'page.html\'] %}';
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