2

ファイルからを取得して、Pythonで%tagname%のみ辞書にコピーしたいと思います。tagname

4

2 に答える 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 に答える