我想从文件中获取并仅在 python 中将%tagname%
它们复制到字典中。tagname
问问题
193 次
2 回答
7
这将为您提供标签列表
re.findall("%([^%]+)%", text)
于 2010-04-19T05:55:54.573 回答
2
要获取标签列表,可以使用 + 运算符的非贪婪版本,它的优点是简单:
re.findall('%(.+?)%', text)
事实上,.+?%
找到任何类型的所有字符(标签),并在找到后立即 %
停止(这是“非贪婪”部分)。
在下面的速度测试中,这个答案的非贪婪版本比“不是另一个 % 符号”版本慢了近 2 倍,不过:
python -m timeit -s'import re; t="%t1% lkj lkj %long tag% lkj lkj"*1000' 're.findall("%([^%]+)%", t)'
1000 loops, best of 3: 874 usec per loop
python -m timeit -s'import re; t="%t1% lkj lkj %long tag% lkj lkj"*1000' 're.findall("%(.+?)%", t)'
1000 loops, best of 3: 1.43 msec per loop
于 2010-04-19T07:49:03.853 回答