一个自动正则表达式学习者?

时间:2014-08-08 20:39:47

标签: regex node.js algorithm

我有重复模式的字符串。像那样:

/socket.io/1/xhr-polling/993bcoZK7UkiqsNYpbja?t=1407502307019
/socket.io/1/xhr-polling/993bcoZK7UkiqsNYpbja?t=2222222222222
/socket.io/1/xhr-polling/993bco56465456465465a?t=333333333333

还有这样的事情:

/api/bucket/53e4ce6584df65130e7ead66/data/metadata
/api/bucket/465456456456465456445456/data/metadata
/api/bucket/898989898989898989898989/data/metadata

更像是那样。

如何找到这些字符串中的模式并聚合它们的最佳方法?

喜欢得到某种json:

{
   pattern : "/api/bucket/*/data/metadata"
   routes : ["/api/bucket/53e4ce6584df65130e7ead66/data/metadata",
             "/api/bucket/465456456456465456445456/data/metadata",
             "/api/bucket/898989898989898989898989/data/metadata"]
}

1 个答案:

答案 0 :(得分:-1)

好的找到了解决方案,答案中引用的Aho-Corasick匹配算法不适用。 Levenshtein距离算法是。如果发现Node.JS的这个模块执行此操作:https://github.com/jefarmstrong/sortzzy