Kleene plus クロージャですべてのグループをキャプチャする必要があるという問題に遭遇しました。別のシナリオで試してみましたが、同じ動作が得られました。だから例
(?:([A-Za-z]+) )+
文字列用
This is a sentence.
可能なすべてのグループではなく、常に最後の一致をグループとして返します。上記の場合、group(1) はaあり、他のグループはありません。Thisgroup(1) をgroup(2) にしてis、 group(3)にしたいと思いaます。上記のために私が使用していたsearch
編集
私が気にかけている正確なケースを使用していないため、私は正しく機能します...
\{([ A-Z]+)(?:\|([ A-Z]+))+\}
と
NBAR -> { AP NBAR | NBAR PP | VPG | N | N N }
この場合、findall動作しません。このオンラインツールを使用すると、得られる[(u' AP NBAR ', u' N N ')]ものと非常に似てgroups()います。