首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用多种数据格式的regex

如何使用多种数据格式的regex
EN

Stack Overflow用户
提问于 2016-12-08 16:33:17
回答 1查看 119关注 0票数 4

我正在尝试从我所监视的网站中提取参考CVEs。当row0上的格式是这样的时,我的regex代码正在工作-- (参考文献)。#8957501) (CVE-2015-3600),但当格式更改为-- (参考#555237/92073/CVE-2015-9042)时,它就坏了。

如何使用这两种格式提取CVE字符串?

下面是我当前的regex代码:

代码语言:javascript
复制
cve_pattern = re.compile(r'(CVE-1999-\d{4,7}|CVE-(200[0-9])-\d{4,7}|CVE-(201[0-9])-\d{4,7})', re.IGNORECASE)
    for cve_number_pattern_match in cve_pattern.finditer(row[0]):
        if cve_number_pattern_match is not None:
            logger.info(cve_number_pattern_match.group(0) + " is located on row " + str(row_num))
            cve_number_list[row_num] = cve_number_pattern_match.group(0)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-08 17:22:40

你可以用

代码语言:javascript
复制
r'\bCVE[\d-]+'

要匹配单词边界、CVE子字符串和1+数字或-,请执行以下操作。见regex演示

或者,您可以使用更精确的

代码语言:javascript
复制
r'\bCVE-\d+(?:-\d+)?'

详细信息

  • \b -主导词边界
  • CVE- - CVE-子字符串
  • \d+ -1或更多位数
  • (?:-\d+)? -一个可选的序列:
    • - -a连字符
    • \d+ -1或更多位数.

另一个演示

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41044357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档