У меня есть образец podfile.lock, как показано ниже:Рубин - Разбираем данные зависимостей от Podfile.lock
PODS:
- MyLibrary1 (0.10.0):
- MyLibrary1A (>= 0.9.0)
- AFNetworking (1.1.0)
- MyLibrary2 (3.0.0)
- Objective-C-HMTL-Parser (0.0.1)
DEPENDENCIES:
- MyLibrary1 (= 0.10.0)
- AFNetworking (= 1.1.0)
- MyLibrary2 (= 3.0.0)
- Objective-C-HMTL-Parser (= 0.0.1)
SPEC CHECKSUMS:
MyLibrary1: 1d65fa5d905211c8981a11091eae8c98b410eb19
AFNetworking: 761a418233d280c1e0580bcb76ff9cb4c3073d17
MyLibrary2: 35b80d5cc522b0f53beb5583c635e42ecce69743
Objective-C-HMTL-Parser: 4fca85e186a829cfe8db8e316e9688571ea4dfed
COCOAPODS: 0.16.9
ТРЕБОВАНИЕ:
Я хочу, чтобы данные между данными зависимостей в формате JSON то есть что-то вроде:
{
"MyLibrary1": "0.10.0",
"AFNetworking": "1.1.0",
"MyLibrary2": "3.0.0",
"Objective-C-HMTL-Parser": "0.0.1"
}
ЧТО Я Д.И. D:
Я пытаюсь получить данные в "ЗАВИСИМОСТИ:" первое, используя регулярное выражение:
start_string = "DEPENDENCIES:"
end_string = "SPEC CHECKSUMS:"
file_contents[/#{start_string}(.*?)#{end_string}/m, 1]
С этим я получаю:
"\n - MyLibrary1 (= 0.10.0)\n - AFNetworking (= 1.1.0)\n - MyLibrary2 (= 3.0.0)\n - Objective-C-HMTL-Parser (= 0.0.1)\n\n"
ВОПРОС:
С приведенным выше результатом регулярного выражения, как/что такое e Как получить/отделить «MyLibrary1» и «0.10.0», чтобы сделать JSON?
Не знаю, как вы получили этот результат, используя модификатор многострочный, но, как правило, для этого требуемого действия требуется два регулярных выражения. У вас уже есть, а затем другой для анализа этого результата для каждого ключа/значения. – sln
Я работаю над вторым регулярным выражением на рублевом прямо сейчас. Я пытался найти, если есть более простой способ добиться этого. –
На самом деле не самый быстрый способ, если Python не поддерживает конструкцию '\ G' или не создает коллекции' Capture Collections' (уникальной для Dot-Net). – sln