Я использую PRAW, чтобы создать reddit-бот, который берет автора комментариев того, кто говорит «alot», и сохраняет свое имя пользователя в списке. У меня возникают проблемы с регулярным выражением и как заставить строку работать. Вот мой код.Использование регулярных выражений для сопоставления слова в Python
#importing praw for reddit api and time to make intervals
import praw
import time
import re
username = "LewisTheRobot"
password =
r = praw.Reddit(user_agent = "Counts people who say alot")
word_to_match = ['\balot\b']
storage = []
r.login(username, password)
def run_bot():
subreddit = r.get_subreddit("test")
print("Grabbing subreddit")
comments = subreddit.get_comments(limit=200)
print("Grabbing comments")
for comment in comments:
comment_text = comment.body.lower()
isMatch = any(string in comment_text for string in word_to_match)
if comment.id not in storage and isMatch:
print("Match found! Storing username: " + str(comment.author) + " into list.")
storage.append(comment.author)
print("There are currently: " + str(len(storage)) + " people who use 'alot' instead of ' a lot'.")
while True:
run_bot()
time.sleep(5)
поэтому регулярное выражение, которое я использую, ищет слово alot вместо alot как часть строки. Пример ze alot. Всякий раз, когда я запускаю это, он не найдет комментариев, которые я сделал. Какие-либо предложения?
Спасибо Алекс за отличный ответ, который пошел глубже, чем мой актуальный вопрос! – Lewis