使用正则表达式提取文件中的特定数据

使用正则表达式提取文件中的特定数据

我想从具有不同版本、发布日期、CVE 编号的文件中提取以下信息。有人能告诉我如何使用正则表达式检索这些信息吗?

    Release date: March 13, 2007
    Vulnerability identifier: APSB07-07
    CVE number: CVE-2007-1278
    Platform: Windows only

答案1

如果你无法理解正则表达式,那么就不要使用它。在大多数情况下,你可以用常规的 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
>>>

这当然可以改进,但这只是为了向你展示没有正则表达式也很容易。

永远不要忘记那句名言:

有些人在遇到问题时会想“我知道,我会使用正则表达式。” 现在他们有两个问题。

相关内容