Следующую информацию я хочу извлечь из файла, который имеет другую версию, дату выпуска, номер CVE. Может ли кто-нибудь показать мне, как получить эту информацию с помощью регулярного выражения ..?
Release date: March 13, 2007
Vulnerability identifier: APSB07-07
CVE number: CVE-2007-1278
Platform: Windows only
Если Вы не можете перенести голову вокруг regex, то не используйте его. В большинстве случаев можно заменить им с регулярными строковыми функциями Python.
Небольшой пример для Ваших данных:
>>> s = """ Release date: March 13, 2007
... Vulnerability identifier: APSB07-07
... CVE number: CVE-2007-1278
... Platform: Windows only"""
>>> for line in s.split("\n"):
... if "Release date:" in line:
... print line.split("Release date: ")[1]
... if "CVE number:" in line:
... print line.split("CVE number: ")[1]
...
March 13, 2007
CVE-2007-1278
>>>
Это может быть улучшено, конечно, но это должно только показать Вам, что это довольно легко без regex.
Никогда не забывайте известную кавычку:
Некоторые люди, сталкиваясь с проблемой, думают, что “Я знаю, я буду использовать регулярные выражения”. Теперь у них есть две проблемы.
В зависимости от того, какую информацию вы хотите извлечь из вышеуказанной строки, вы можете использовать что-то вроде этого regex tester . Каждый раз, когда я пишу регулярное выражение, я использую его, чтобы убедиться, что он работает первым.