2017-05-10 8 views
0

私はオンラインから得たつぶやきを削除するメソッドを持っていますが、コロンとアンダースコアを保持するように修正したいと思います。私はdocumentationをPythonでregexのために読んでいます。そしてre.subメソッドは最初にパターンを見つけて、それを "tweet"変数の空白で置き換えるようです。私はまだそれがパターンを指定する最初の部分を理解していない、私はいくつかの基本を理解しているような何かで始まるものを見つけることです、私は最後の部分を取ってみた(\w+:\/\/\S+)完全にコロンが来ていたそれはまだコロンを削除しています。誰かがパターン発見部分の3つの部分がそれぞれ何をしているのか説明できますか?正規表現のPythonはコロンとアンダースコアを削除します

' '.join(re.sub("(@[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)", " ", tweet).split()) 

答えて

0

^文字は正規表現で2つの意味を持ちます。文字列の始まりにすることもできますし、大括弧([])の間にある場合は "not"を意味することもできます。この場合、それはnotを意味します。つまり、その式で特に言及されていない文字はすべて削除されます。 ;

' '.join(re.sub("(@[A-Za-z0-9]+)|([^0-9A-Za-z \t:])|(\w+:\/\/\S+)", " ", tweet).split()) 

さらに説明すること:それないを持つためには、コロン(:)あなたが真ん中にそれを追加する必要があります(ない)グループを削除します最初のグループは@ -referencesを他のものに削除し、2番目のグループは空白とタブ(そして現在はコロン)を除くすべての非英数字を削除し、最後のグループはインターネットアドレスなどを削除します(たとえばhttp://またはfile ://" または類似)。

+0

ありがとうございます!私は2つの意味を持っていたか分からなかった –

関連する問題