我想从文件中获取%tagname%
并将它们复制到python中仅tagname
的字典中。
答案 0 :(得分:7)
这将为您提供标签列表
re.findall("%([^%]+)%", text)
答案 1 :(得分: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