我有一个处理 URL 的高性能应用程序。对于每个 URL,它需要从预定义的池中检索适当的设置。每个设置对象都与一个 URL 模式相关联,该模式指示哪些 URL 应该使用这些设置。匹配规则如下:
- “google.com”匹配模式应匹配指向 google 域的所有 URL(因此,maps.google.com 和 www.google.com/match 匹配)。
- “*.google.com”应该匹配所有指向 google.com 子域的 URL(因此,maps.google.com 匹配,但 google.com 和 www.google.com 不匹配)。
- “maps.google.com”应匹配指向该特定子域的所有 URL。
除了上述规则外,每个匹配规则都可以包含一个路径,这意味着 URL 的路径部分应该以匹配规则路径开头。所以:“*.google.com/maps”匹配“maps.google.com/maps”,但不匹配“maps.google.com/advanced”。
如您所见,上面的规则是重叠的。如果存在两个匹配相同 URL 的规则,则应应用最具体的规则。上面的列表按从最不具体到最具体的顺序排列。
这似乎是一个标准问题,我希望使用现成的库而不是自己编程。谷歌揭示了几个选项,但没有明确的方法可以在它们之间进行选择。你会推荐什么作为这个任务的好库?
谢谢,波阿斯