我尝试在Python中获取字符串的最高版本。我试图对列表进行排序,但很明显这样做不容易,因为Python将按照字符串表示进行排序。
为此,我正在尝试使用正则表达式,但它似乎无法匹配。
这些字符串看起来像这样:
我考虑将名称保存在列表中,并查找列表中最高的v_xx以返回。目前,我正在使用两个FOR循环执行此操作。这需要 2*O(log(n)) 的时间复杂度,效率不高。有什么简单快速的方式可以获取最高版本号吗?
为此,我正在尝试使用正则表达式,但它似乎无法匹配。
这些字符串看起来像这样:
topic_v10_ext2
topic_v20_ext2
topic_v2_ext2
topic_v5_ext2
topic_v7_ext2
我的正则表达式长这样。
version_no = re.search("(?:_v([0-9]+))?", v.name)
我考虑将名称保存在列表中,并查找列表中最高的v_xx以返回。目前,我正在使用两个FOR循环执行此操作。这需要 2*O(log(n)) 的时间复杂度,效率不高。有什么简单快速的方式可以获取最高版本号吗?
ext
后面的值是否属于版本号? - Rory Daultontopic_v...
不能是字符串? - PrinceOfCreation?
,使整个表达式变成可选项。 - glibdud