始める無料で始める

うーん!私の好みじゃない!

ポジティブなツイートを見つけたら、次はネガティブなツイートでも同じことを行いたいですね。ここでは、単語 hatedislikedisapprove を含む文を見つけることが目標です。前と同様に、movie または concert の名前は保存します。今回は、movie または concert という単語を含むツイートは取得しますが、その単語自体は保存しません。

たとえば、文 I dislike the movie Avengers a lot. があるとします。この場合、dislike をマッチして捕捉します。movie という単語はマッチしますが捕捉しません。その後、ピリオドまでの任意の文字列をマッチして捕捉します。

3つのツイート本文を含むリスト sentiment_analysis と、re モジュールはすでに読み込まれています。IPython Shell で print() を使ってデータを確認できます。

この演習はコースの一部です

Pythonで学ぶ正規表現

コースを見る

演習の手順

  • 正規表現を完成させ、hatedislikedisapprove のいずれかを捕捉してください。movie または concert はマッチさせますが捕捉しないでください。さらに、. に到達するまでに現れる任意の文字列をマッチして捕捉してください。
  • sentiment_analysis の各要素に対して、正規表現のすべてのマッチを見つけます。結果を negative_matches に代入してください。
  • sentiment_analysis の各要素について、negative_matches に含まれる結果を出力するように .format() メソッドを完成させてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Write a regex that matches sentences with the optional words
regex_negative = r"____.+?____\s____\."

for tweet in sentiment_analysis:
	# Find all matches of regex in tweet
    negative_matches = re.____(____, ____)
    
    # Complete format to print out the results
    print("Negative comments found ____".format(____))
コードを編集して実行