【发布时间】:2015-12-28 16:03:56
【问题描述】:
假设我有这样的代码:
import re
docid_re = re.compile(r'<DOCID>([^>]+)</DOCID>')
doctype_re = re.compile(r'<DOCTYPE SOURCE="[^"]+">([^>]+)</DOCTYPE>')
datetime_re = re.compile(r'<DATETIME>([^>]+)</DATETIME>')
我也可以这样做:
>>> import re
>>> docid_re = r'<DOCID>([^>]+)</DOCID>'
>>> doctype_re = r'<DOCTYPE SOURCE="[^"]+">([^>]+)</DOCTYPE>'
>>> datetime_re = r'<DATETIME>([^>]+)</DATETIME>'
>>> docid_re, doctype_re, datetime_re = map(re.compile, [docid_re, doctype_re, datetime_re])
>>> docid_re
<_sre.SRE_Pattern object at 0x7f0314eee438>
但是当我使用map() 时,速度或内存有什么真正的提升吗?
【问题讨论】:
-
你在用正则表达式解析xml吗?
-
确实是这样。
-
你试过测量吗?
标签: python regex dictionary compilation