А что значит: "не является php файлом и следовательно весь код в нем не валидный"?
Мой PHPStorm 8.0.2 Создает точно такой же пустой php file.
Добавьте к этому шаблону какой-нибудь echo "Hello"; Создайте для него "Run configuration". Ну и запустите.
у вас в тегах указанно 18 / 25 это не у меня указано :) данные preg_math берет из переменной $sourceContent, а в ней как раз присутствуют именно эти цифры(пример из Вашего поста). Замените их на любые другие,- увидите разницу,
(?:;|$) здесь:
1. символы "?:" идущие сразу же за открывающей скобкой группы, говорят что это группа не захватывающая, т.е. ее содержимое не будет включено в результирующий массив выборки $mathches (preg_match($regExpWrapper, $string, $matches);)
2. ";|$" - искать либо символ ";", либо конец текста(символ "$")
В данном случае "?:" ничего не решает,- удалите их и посмотрите на вывод print_r. Здесь больше подходит вперед смотрящая группа (?=(?:;|$)). Вот удобный инструмент regexr.com для потестить