regex 正则表达式查找CVE匹配项

qq24tv8q  于 2023-06-30  发布在  其他
关注(0)|答案(3)|浏览(142)

我对正则表达式的概念还很陌生,所以我希望一个Maven用户可以帮助我设计正确的表达式来查找字符串中的所有匹配项。我有一个字符串,它代表了大量的支持信息,用于漏洞数据。在该字符串中是一系列CVE引用,格式为:CVE-2015-4000。谁能给我一个正则表达式的例子来找到所有出现的那个?很明显,数字部分在整个字符串中都是变化的

vshtjzan

vshtjzan1#

一般来说,你应该在你的问题中包括你以前的努力,你到底希望匹配什么,等等。但既然我知道格式,这是一个简单的...

CVE-\d{4}-\d{4,7}

这首先匹配CVE-,然后是4位数的年份标识符,然后是4到7位数的数字,以根据新标准识别漏洞。
在操作here中查看此操作。

hc8w905p

hc8w905p2#

如果你需要一个没有任何语法或逻辑冲突的精确匹配,你可以试试这个:

^(CVE-(1999|2\d{3})-(0\d{2}[1-9]|[1-9]\d{3,}))$

您可以在这里对MITRE提供的测试数据运行此命令来测试代码,或者在线测试here

xoshrz7s

xoshrz7s3#

我将对已接受的答案提出我的意见。如果我们想检测不区分大小写的“CVE”,我们可以遵循正则表达式

r'(?i)\bcve\-\d{4}-\d{4,7}'

相关问题