【发布时间】:2012-11-07 19:53:32
【问题描述】:
我遇到了在字符串中搜索 90,000 个 GUID 的问题。我需要获取每个 GUID 的所有实例。从技术上讲,我也需要更换它们,但这是另一回事。
目前,我正在使用正则表达式单独搜索每一个。但我突然想到,通过一起搜索它们可以获得更好的性能。我过去读过有关尝试的内容,但从未使用过,但我突然想到,我可以构建一个包含所有 90,000 个 GUID 的 trie 并使用它进行搜索。
或者,也许 .NET 中有一个现有的库可以做到这一点。我突然想到,我没有理由只使用一个巨大的正则表达式就不能获得良好的性能,但这似乎行不通。
除此之外,也许我可以使用一些与 GUID 结构相关的聪明技巧来获得更好的结果。
这对我来说并不是一个真正的关键问题,但我认为我可能能够学到一些东西。
【问题讨论】:
-
您能否提供输入和预期输出的示例?
-
输入:一个字符串和一个 guid 列表 输出:字符串中可以找到每个 guid 的索引列表。
-
我不明白为什么正则表达式应该是“巨大的”。我会假设一场比赛的正则表达式看起来与一百万场比赛相同?!?
-
哦,当然,我通常可以为 guid 做一个正则表达式,然后选择我感兴趣的匹配项。这实际上可能是最好的方法。
-
那么您在寻找 90,000 个特定 guid?