Filtro de proficiência usando uma expressão regular (lista de 100 palavras)

Qual é a maneira correta de remover palavras profanas de uma string dada:
1) Tenho uma lista de 100 palavras para procurar em uma série de strings. 2) Qual é a maneira correta de lidar com palavras parciais? Como a maioria das pessoas lida com isso? Por exemplo, a palavra massa. Às vezes, uma palavra parcial também é ruim - suponha que foobar é uma palavra extremamente profana. Talvez eu queira desabilitar foobar e foobar * e * fooba

Então, você coloca todas as palavras em uma única expressão ou percorre a list

Qual é o caminho certo para lidar com isso? Estou usando Groovy / Grails, mas todos os exemplos de idiomas modernos são bem-vindo

questionAnswers(2)

yourAnswerToTheQuestion