Kleene plus クロージャですべてのグループをキャプチャする必要があるという問題に遭遇しました。別のシナリオで試してみましたが、同じ動作が得られました。だから例
(?:([A-Za-z]+) )+
文字列用
This is a sentence.
可能なすべてのグループではなく、常に最後の一致をグループとして返します。上記の場合、group(1) はa
あり、他のグループはありません。This
group(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()
います。