我对正则表达式的概念还很陌生,所以我希望一个Maven用户可以帮助我设计正确的表达式来查找字符串中的所有匹配项。我有一个字符串,它代表了大量的支持信息,用于漏洞数据。在该字符串中是一系列CVE引用,格式为:CVE-2015-4000。谁能给我一个正则表达式的例子来找到所有出现的那个?很明显,数字部分在整个字符串中都是变化的
vshtjzan1#
一般来说,你应该在你的问题中包括你以前的努力,你到底希望匹配什么,等等。但既然我知道格式,这是一个简单的...
CVE-\d{4}-\d{4,7}
这首先匹配CVE-,然后是4位数的年份标识符,然后是4到7位数的数字,以根据新标准识别漏洞。在操作here中查看此操作。
CVE-
hc8w905p2#
如果你需要一个没有任何语法或逻辑冲突的精确匹配,你可以试试这个:
^(CVE-(1999|2\d{3})-(0\d{2}[1-9]|[1-9]\d{3,}))$
您可以在这里对MITRE提供的测试数据运行此命令来测试代码,或者在线测试here。
xoshrz7s3#
我将对已接受的答案提出我的意见。如果我们想检测不区分大小写的“CVE”,我们可以遵循正则表达式
r'(?i)\bcve\-\d{4}-\d{4,7}'
3条答案
按热度按时间vshtjzan1#
一般来说,你应该在你的问题中包括你以前的努力,你到底希望匹配什么,等等。但既然我知道格式,这是一个简单的...
这首先匹配
CVE-
,然后是4位数的年份标识符,然后是4到7位数的数字,以根据新标准识别漏洞。在操作here中查看此操作。
hc8w905p2#
如果你需要一个没有任何语法或逻辑冲突的精确匹配,你可以试试这个:
您可以在这里对MITRE提供的测试数据运行此命令来测试代码,或者在线测试here。
xoshrz7s3#
我将对已接受的答案提出我的意见。如果我们想检测不区分大小写的“CVE”,我们可以遵循正则表达式