У меня много имен файлов, таких как:
libgcc1-5.2.0-r0.70413e92.rbt.xar
python3-sqlite3-3.4.3-r1.0.f25d9e76.rbt.xar
u-boot-signed-pad.bin-v2015.10+gitAUTOINC+1b6aee73e6-r0.02df1c57.rbt.xar
Мне нужно надежно извлечь имя, версию и "rbt" или "norbt" из этого. Какой самый лучший способ? Я пытаюсь регулярное выражение, что-то вроде:
(?<fileName>.*?)-(?<version>.+).(rbt|norbt).xar
Проблема - имя файла и версия могут иметь несколько точек с запятой. Поэтому я не уверен, есть ли ответ, у меня есть два вопроса:
- Какова лучшая стратегия для извлечения таких ценностей?
- Как мне узнать, какая версия лучше?
Ожидаемый результат:
libgcc1, 5.2.0-r0.70413e92, rbt
python3-sqlite3, 3.4.3-r1.0.f25d9e76, rbt
u-boot-signed-pad.bin, v2015.10+gitAUTOINC+1b6aee73e6-r0.02df1c57, rbt