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

发布于 2024-11-29 19:55:48 字数 277 浏览 0 评论 0原文

我的产品的版本号类似于major.minor.subminor。各种资源按版本进行模板化,例如,7.0.1 可以定义消息,并且可以通过 7.X 行使用,但自定义消息的版本 7.2.3 和 7.2.8 除外。 8.0.1 可能会更改该消息。

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

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

My product has version numbers like major.minor.subminor. Various resources get templatized by the version, so that, say, 7.0.1 may define a message, and that may be used thru the 7.X line except for versions 7.2.3 and 7.2.8 which customize the message. 8.0.1 may then change the message.

I need to get the best matching version of the resources. That would be the last defined version if there was not an exact match, first by subminor, then by minor, then major.

I would think this is a fairly standard practice. Is this kind of a match best done (or even possible) with a regex, and if so, what would the regex be like? Or should I just go ahead and implement this algorithm?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泪痕残 2024-12-06 19:55:48

一个例子:
Django 使用正则表达式列表将传入的 URL 与视图进行匹配。

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

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

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

An example:
Django uses a list of regexpes to match incoming urls to views.

So a simple list of regexpes, where the first match is the one you want, and then you use it's data.

Your described list should look like this:

/^8/      "Message 4"
/^7.2.8/  "Message 3"
/^7.2.3/  "Message 2"
/^7/      "Message 1"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文