gpt4 book ai didi

ruby - 需要一个 ruby​​ regular exp 来匹配

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:09 24 4
gpt4 key购买 nike

我正在尝试从不同的 RPM 列表中提取版本。下面是一个例子:

rpm = "abc-def-ghi-1.1.0-10.el6.x86_64"

这个变量可以有不同的字符串值,

rpm = "a-b-1.1.1-10.x86_64"

我的目标是使用“匹配”方法编写一个正则表达式(如下所示)——尽管这个不涉及 .el6 方面。

rpm.match(/^#{rpmname_to_match}-(.*).x86_64$/).nil?

最佳答案

我不确定你想用 .el6 部分做什么,但如果你想要一个只匹配数字部分的模式,那么试试这个:

([0-9]+(?:(?:\.|-)(?:[0-9]+))*)

这将只匹配以一位或多位数字开头的字符串,然后可以有任意数量的序列,这些序列是句点或连字符后跟一位或多位数字。

所以你的最终声明可能如下:

rpm.match(/^#{rpmname_to_match}-([0-9]+(?:(?:\.|-)(?:[0-9]+))*)(.*)\.x86_64$/).nil?

关于ruby - 需要一个 ruby​​ regular exp 来匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15668627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com