2017-08-13 12 views
-1

私はPythonの初心者です。問題を解決しています。次のコード行が適切な意味を示すことができます。Python正規表現の理解

if collections.Counter(re.findall(r"[\w']+", decrypted))[repeat] >= 2: 
      return decrypted 

復号化は長い文字列であり、繰り返しはその文字列の単語です。

ありがとうございます。

答えて

0

てみましょう:

decrypted = "foo bar baz" 

その後

re.findall(r"[\w']+", decrypted) 

戻りdecryptedマッチルールr"[\w']+"またはのストリングのlist文字、数字または単一引用符記号持つすべての文字列。結果は['foo', 'bar', 'baz']です。

方法collections.Counterリストから同じようなオブジェクトdictを作成します。このオブジェクトの演算子[x]は、指定されたリスト内でxの数を返します。最後に

は:

collections.Counter(re.findall(r"[\w']+", decrypted))[repeat] 

戻りdecryptedrepeatサブラインのカウント。

0

\w試合すべての文字と数字を意味する([a-zA-Z0-9_]に等しい)任意の単語文字と1回以上を意味します(ただし、少なくとも1)

+を強調

あなたは(グローバル)findallにしてみてください

online explaination