匹配优雅后备的版本号 - 使用正则表达式?

时间:2011-08-15 18:15:22

标签: regex versioning

我的产品版本号如major.minor.subminor。各种资源都被版本模板化,因此,比如说7.0.1可以定义一条消息,并且可以通过7.X行使用,除了自定义消息的版本7.2.3和7.2.8。 8.0.1然后可以更改消息。

我需要获得最佳匹配版本的资源。如果没有完全匹配,那将是最后定义的版本,首先是subminor,然后是minor,然后是major。

我认为这是一个相当标准的做法。这种匹配最好是用正则表达式完成(甚至可能),如果是这样,正则表达式会是什么样的?或者我应该继续实施这个算法?

1 个答案:

答案 0 :(得分:1)

一个例子: Django使用正则表列表来匹配传入的URL到视图。

这是一个简单的正则表列表,其中第一个匹配是你想要的,然后你使用它的数据。

您描述的列表应如下所示:

/^8/      "Message 4"
/^7.2.8/  "Message 3"
/^7.2.3/  "Message 2"
/^7/      "Message 1"