うーん!私の好みじゃない!
ポジティブなツイートを見つけたら、次はネガティブなツイートでも同じことを行いたいですね。ここでは、単語 hate、dislike、disapprove を含む文を見つけることが目標です。前と同様に、movie または concert の名前は保存します。今回は、movie または concert という単語を含むツイートは取得しますが、その単語自体は保存しません。
たとえば、文 I dislike the movie Avengers a lot. があるとします。この場合、dislike をマッチして捕捉します。movie という単語はマッチしますが捕捉しません。その後、ピリオドまでの任意の文字列をマッチして捕捉します。
3つのツイート本文を含むリスト sentiment_analysis と、re モジュールはすでに読み込まれています。IPython Shell で print() を使ってデータを確認できます。
この演習はコースの一部です
Pythonで学ぶ正規表現
演習の手順
- 正規表現を完成させ、
hate、dislike、disapproveのいずれかを捕捉してください。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(____))