$re = '/(?<!E\d{2})\.(?!\w+$)/m';
$str = 'S03E01.Initiation.mkv
S03E02.For.the.Man.Who.Has.Everything.mkv
S03E03.Kids\'.Stuff.mkv
S03E04.Hawk.and.Dove.mkv
S03E05.This.Little.Piggy.mkv
S03E07.The.Return.mkv
S03E08.The.Greatest.Story.Never.Told.mkv
S03E09.Ultimatum.mkv
S03E10.Dark.Heart.mkv
S03E11.Wake.the.Dead.mkv
S03E12.The.Once.and.Future.Thing.Part.1.Weird.Western.Tales.mkv
S03E13.The.Once.and.Future.Thing.Part.2.Time.Warped.mkv
';
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