我有重复模式的字符串。像那样:
/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"]
}
答案 0 :(得分:-1)
好的找到了解决方案,答案中引用的Aho-Corasick匹配算法不适用。 Levenshtein距离算法是。如果发现Node.JS的这个模块执行此操作:https://github.com/jefarmstrong/sortzzy