寻找一种有效的方法来解决模式匹配

时间:2013-11-07 09:03:03

标签: algorithm data-structures

我正在为REST构建一个原型框架,要求URI匹配特定类型。不同类型的URI如下:

u:= /{name}
    /{name}/create
    /{name}/delete
    /{name}/{id}
    /{name}/{id}/update
    /{name}/{id}/delete

    and combinations such as,

    [/{name}/{id}]u

    'name' belongs to a well defined set
    and 'id' is a regular expression of the type: [A-Z][a-z][0-9]+

示例如下:/ blogs / 1234 / entries / 567 / update

正如您所看到的,我可以将URI链接起来形成复杂的URI。

我的问题是,是否有一个良好的数据结构,我可以实现/使用它来处理这个要求。我现在的尝试有点模糊,不确定这是最好的方法。

当然,我已经使用蛮力技术很好地工作了,但是对于处理这个问题的有效方法,我真的想要一些指导。

1 个答案:

答案 0 :(得分:0)

您的URI构成了常规语言(假设{name}是常规语言,我猜它是有限的),因此您可以创建一个有限状态自动机来解析它们。