私は次のコードを書くとき:正しく動作させるために正規表現パターンに余分なスペースが必要なのはなぜですか?
m = re.findall('\sf.*?\s','a f fast and friendly dog');
を私は出力取得:[' f ', ' friendly ']
をしかし、私は速いF &の間に余分なスペースを提供するとき、私は私が前のものから期待される次の出力を取得します。
m = re.findall('\sf.*?\s','a f fast and friendly dog');
出力は次のよう コードは次のとおりです。
[' f ', ' fast ', ' friendly ']
私は最初のケースでは、後に出力を取得していない午前、なぜ誰もが(F &速い間の余分なスペースを挿入せずに)教えてもらえますか?
正規表現はどのようにするべきですか? かっこ抽出を含める必要がありますか? –
末尾のスペースは存在する必要がありますが、消費されない場合は、[lookahead](https://docs.python.org/3/library/re.html?highlight=lookahead)を使用してください。 '/ \ sf。*?(?= \ s)/' –
あなたは '\ bf。*?\ b'の後に何をしているのか推測しています - (図解)(https://regex101.com/r/Hh24xG/1)。 – ClasG