私は一連の作成者と一致するはずの小さなPythonスクリプトに取り組んでおり、そのためにre
-moduleを使用しています。私は予期しない何かに遭遇し、それを次の非常に単純な例に減らすことができました。
>>> import re
>>> s = "$word1$, $word2$, $word3$, $word4$"
>>> word = r'\$(word\d)\$'
>>> m = re.match(word+'(?:, ' + word + r')*', s)
>>> m.groups()
('word1', 'word4')
したがって、入力の主要部分に一致する「基本的な」正規表現を定義し、いくつかの認識可能な機能(この場合は$
-記号を使用)を使用して、1つの単語と可能な追加の単語リストを一致させようとします。
私はそれm.groups()
が表示されると思っていたでしょう:
>>> m.groups()
('word1', 'word2', 'word3', 'word4')
しかし、どうやら私は何か間違ったことをしているようです。このソリューションが機能しない理由と、探している結果が得られるように変更する方法を知りたいです。ところで、これは、重要な場合に備えて、Linuxマシン上のPython2.6.6の場合です。