擅长:python、mysql、java
<p>更进一步,我创建了一个Cython扩展来评估规则,现在它的速度非常快。我可以用大约3000个regex规则每秒处理70个请求</p>
<h2>在正则表达式.pyx在</h2>
<pre><code>import re2
import string as pystring
cpdef list match_rules(char *pytext, dict compilled_rules):
cdef int ok, scope, term
cdef list response = []
text = pystring.lower(pytext)
for scope, rules in compilled_rules.iteritems():
ok = 1
for term,rule in rules.iteritems():
if ok==1:
if re2.search(rule, text):
ok=0
response.append([scope,term])
return response
</code></pre>
<h2>python代码</h2>
^{pr2}$