$re = '/\.(?i:engine|inc|install|make|module|profile|po|sh|.*sql|theme|twig|tpl(\.php)?|xtmpl|yml|sw[op]|bak|orig|save|lock)$|^composer\.json$|^#.*#$|~$/m';
$str = '.engine
.inc
.install
.make
.module
.module~
.module.bak
.module.orig
.module.save
.module.swo
.module.swp
.php~
.php.bak
.php.orig
.php.save
.php.swo
.php.swp
.profile
.po
.sh
.sql
.theme
.twig
.tpl.php
.xtmpl
.yml';
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