使用正则表达式查找的集合...是否存在
是否存在某种集合(键,值),可以使用键上的正则表达式匹配找到值。
当然,我可以循环遍历所有键并进行匹配,但我想知道是否可以进行更智能的操作。
如果没有,任何有关如何实现这一目标的想法将不胜感激。
蒂亚·
索伦
Does there exist some kind of collection (key, value) where values can be found using a regular expression match on the key.
Of course I could loop through all the keys and do a match, but I was wondering if something smarter is possible.
If not, any ideas on how to acomplish this would be greatly appreciated.
TIA
Søren
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 Trie 结构,并根据简单的正则表达式遍历它。不过,为此目的采用现有的正则表达式库是很困难的。
当到达模式末尾时,返回所有当前选定的节点。如果所选节点的数量变为零,则中止并返回一个空集。
如果使用分支,您将必须探索模式的所有可能组合。
Russ Cox 关于该主题的文章是有关高效正则表达式的好读物。
You could use a Trie structure, and walk it according to a simple regular expression. It would be difficult to adopt an existing regex library for this purpuse, though.
When reaching the end of the pattern, return all currently selected nodes. If the number of selected nodes becomes zero, abort and return an empty set.
If using branches, you would have to explore all possible combinations of the pattern.
A good read about efficient regular expressions is Russ Cox articles on the subject.