How to check whether a user string contains any forbidden words from a list in Python

2 Answers

0 votes
forbidden = {"badword", "evil", "kill", "nasty", "terrible"}
text = "This text contains a badword inside"

if any(word in text.lower() for word in forbidden):
    print("Forbidden word detected")
else:
    print("No forbidden words found")


   
'''
run:
   
Forbidden word detected
   
'''

 



answered Dec 27, 2025 by avibootz
0 votes
import re

def contains_forbidden(text, forbidden):
    # Normalize input
    text = text.lower().strip()
    text = re.sub(r"[^a-z0-9]+", " ", text)

    # Build safe regex
    pattern = r"\b(" + "|".join(re.escape(w) for w in forbidden) + r")\b"

    return re.search(pattern, text) is not None


text = "This text contains a badword inside"
forbidden = {"badword", "evil", "kill", "nasty", "terrible"}

if contains_forbidden(text, forbidden):
    print("Forbidden word detected")
else:
    print("No forbidden words found")



   
'''
run:
   
Forbidden word detected
   
'''

 



answered Dec 27, 2025 by avibootz

Related questions

...