擅长:python、mysql、java
<p>你正在为你的每一句话重新编译。在循环外编译一次:</p>
<pre><code>terms = dictionary.keys() # why are you using a dict?
pattern = re.compile("|".join(terms))
for sentence in text_list:
matches = pattern.finditer(sentence)
# etc.
</code></pre>
<p>那会节省你一些时间。你知道吗</p>
<p>如果您想使用Cox所描述的算法重建库,可以四处寻找Python或Java绑定到他的<a href="http://swtch.com/~rsc/regexp/regexp3.html" rel="nofollow">RE2</a>库。或者,使用<code>egrep</code>或Awk。你知道吗</p>