Использование не-жадных кванторов здесь, вероятно, является лучшим решением, также потому, что оно более эффективно, чем жадная альтернатива: жадные совпадения обычно идут насколько это возможно (здесь, до конца текста!), а затем отслеживать назад символ после символа, чтобы попытаться совместить часть, идущую позже.
Однако рассмотрите вместо этого использование отрицательного символьного класса:
Project name:\s+(\S*)\s+J[0-9]{7}:
\S
означает «все, кроме пробелов, и это это именно то, что вы хотите.
Любой файл APK является допустимым ZIP-файлом. Для этого есть нечто большее - файлы, которые должны присутствовать, тот факт, что zipalign
обычно используется для выравнивания структур данных в файле, но это все действительный ZIP.
AFAIK, это полностью стандартный файл ZIP.
Учтите, что, как и в обычных ZIP-файлах, не все записи будут сжаты (зависит от типа файла).
/ g1]