Мне не известен синтаксис PHP, поэтому, пожалуйста, прости меня за пропущенные синтаксические соображения.
Поскольку в данном конкретном случае вы уверены, что все use
s вас интересуют l ie до границы класса, я думаю, что может помочь поиск всех use
, которым не предшествует {
, что может быть достигнуто с помощью следующего регулярного выражения, использующего отрицательный взгляд за {
:
(?<!\{\s{0,100})\s*use\s*(?<pkg>.*);
После применения этого ко всему исходному коду, вы можете искать группы с именем pkg
в соответствующих подстроках.
Однако, это не так Хорошая роль в негативном взгляде сзади - \s{0,100}
, который я включил только для того, чтобы после пробела открывать пробелы. Должен быть лучший способ для этого. Я должен был сделать это, потому что отрицательные взгляды нуждаются в вычисляемой максимальной длине, из-за которой \\s*
не будет работать.
Мои предположения о синтаксисе:
use
всегда small case - Оператор пакета
use
оканчивается на ;
обязательно - Пробелы допускаются свободно между токенами, как в случае Java