我应该如何提取%分隔标签

时间:2010-04-19 05:53:55

标签: python text-extraction

我想从文件中获取%tagname%并将它们复制到python中仅tagname的字典中。

2 个答案:

答案 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