Java regex捕获范围内的内核版本

Java regex捕获范围内的内核版本,java,regex,linux,linux-kernel,Java,Regex,Linux,Linux Kernel,我需要一个正则表达式来捕获2.6.32-491.el6(包含)和2.6.32-504.14.1.el6(独占)之间的linux内核版本。有什么想法吗 ^([2]{1}.[6]{1}.[3][2]([4][9][1-9]。|[5][0][0-3]。|[5][0][4]。“缺少此部分”).el6)您的正则表达式太复杂了,这将: 2\.\6\.32-(49[1-9]|50[0-4])([\.0-9]+)\.el6 这里我假设您的正则表达式库使用()作为分组运算符;在某些库中,必须对括号进行转义,才能

我需要一个正则表达式来捕获2.6.32-491.el6(包含)和2.6.32-504.14.1.el6(独占)之间的linux内核版本。有什么想法吗


^([2]{1}.[6]{1}.[3][2]([4][9][1-9]。|[5][0][0-3]。|[5][0][4]。“缺少此部分”).el6)

您的正则表达式太复杂了,这将:

2\.\6\.32-(49[1-9]|50[0-4])([\.0-9]+)\.el6

这里我假设您的正则表达式库使用
()
作为分组运算符;在某些库中,必须对括号进行转义,才能将其解释为分组运算符。根据需要修改。

让我们从显而易见的开始。关于您发布的示例,这是一项非常重要的任务。在许多发行版中有许多内核构建,它们可能对包版本的字符串表示有不同的解释。因此,如果只有分发内核,就必须使用包管理器

对于
rpm
,您可以咨询上的答案。对于未安装的软件包也可以获得它

对于Debian
dpkg——比较版本。剩下的时间你必须自己做一个研究


返回Java绑定。不幸的是,即使是可爱的
librpm
也没有本机的Java Bing,尽管我不知道其他的包管理器。

一个regexgeek会发布他的尝试。你确定字符串比较不会更简单吗?当你展示你首先付出的努力时,你会得到更多的帮助@vks可能他忘了附加一个数字,例如,
regexgeek2020
?@Jan-hehhe我很惊讶这个尼克以前从未被使用过,而且可以使用:)谢谢!如何检查2.6.32-504.14.1和更低版本与2.6.32-504的对比?Regex允许我询问特定的数字和一个或多个数字,但我也不需要任何数字作为选项。这没有帮助。看看我的答案。