Вам нужно более конкретное c регулярное выражение. Если мы следуем правилам PHP для имени класса , это дает нам довольно хорошее регулярное выражение для проверки имени класса. Все, что вам нужно, это удалить зарезервированное слово, и вы сами нашли решение.
Я нашел это регулярное выражение , которое делает то, что вы ищете
private ((?!function)[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]+) .+
Регулярное выражение будет искать ключевое слово private
, за которым следует пробел и любые символы, которые являются действительными символами имени класса. Он отфильтровывает ключевое слово function
(отрицательный взгляд), затем сопоставляет пробелы и все, что после этого.
Вот более полное объяснение того, как работает регулярное выражение.