我使用json从网上读过twitter数据,所以它是字典形式。我必须使用Python找到TweetID以300或700结尾的推文。我知道我必须使用正则表达式,但我不熟悉正则表达式。有人可以帮忙吗?
import re
with open("tweet37.txt", "w") as o:
for tweet in tweets:
tweet_id = tweet['id']
if tweet_id == re.compile(r'd*700' or 'd*300'):
print >> o, str(tweet['id'])
这不会给出任何错误,但不会匹配任何ID。输出文件为空。
这就是ID的样子。它们在tweet ['id']
中的推文字典中400051062968557600
400051063002116100
400051062985330700
答案 0 :(得分:1)
两件事:
这就是你的正则表达式应该是这样的:
if re.search('(?:300|700)$', tweet_id):
(?:300|700)
匹配字符串末尾的300
或700
和$
匹配。
答案 1 :(得分:1)
str方法也可以。
with open("tweet37.txt", "w") as o:
for tweet in tweets:
tweet_id = tweet['id']
if tweet_id.endswith('700') or tweet_id.endswith('300'):
print >> o, str(tweet['id'])