我想从具有不同版本、发布日期、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
>>>
这当然可以改进,但这只是为了向你展示没有正则表达式也很容易。
永远不要忘记那句名言:
有些人在遇到问题时会想“我知道,我会使用正则表达式。” 现在他们有两个问题。