擅长:python、mysql、java
<p>您想要做的与xrdb所支持的非常相似。然而,他们只支持一个相当小的全球化概念。</p>
<p>在内部,通过将正则表达式存储为字符trie,可以实现比它们更大的正则语言家族。</p>
<ul>
<li>单个字符只是trie节点。</li>
<li>。成为覆盖当前trie节点的所有子节点的通配符插入。</li>
<li>*将成为前一项开始处trie to节点中的反向链接。</li>
<li>[a-z]ranges在范围中的每个字符下重复插入相同的后续子节点。小心,虽然插入/更新可能有点贵,但搜索在字符串大小上可以是线性的。使用一些占位符可以控制常见的组合爆炸情况。</li>
<li>(foo)|(bar)节点变成多个插入</li>
</ul>
<p>这不处理出现在字符串中任意点的正则表达式,但可以通过在任意一侧用.*包装正则表达式来建模。</p>
<p>Perl有两个类似于Text::Trie的模块,您可以对其进行raid以获取想法。(见鬼,我想我甚至在很久以前就写过了)</p>