トークン化/スプリッターのように動作する正規表現のグループと*機能を組み合わせる方法はありますか?Regexグループと*ワイルドカードは一緒に動作できますか?
my_str = "foofoofoofoo"
pattern = "(foo)*"
result = re.search(pattern, my_str)
私は期待していた私のグループは
("foo", "foo", "foo", "foo")
ように見えるかもしれません。しかし、それはない:私はこれを試してみました。私はこれに驚いたのは?
my_str= "Mr foo"
pattern = "(Mr)? foo"
result = re.search(pattern, my_str)
ですが、あなたは 're.findall(" FOOを使用して欲しいものを得ることができます。
これはあなたに期待される結果を与えるだろうだろう"、" foofoofoofoo ")'。ああ、変数名に 'str'を使わないでください。 –
'str'を' my_str'に変更しました。 'str'は組み込みをシャドウしているからです。 – jamylak
ああ、申し訳ありませんが、strは単なる例でした。そのコードは構文上正しいとは限りません。また、私はfindallメソッドを見て、それは間違いなく動作するでしょう。私はより一般的な意味で興味があっただけです。 –