Нужно сделать запрет банвордов в regex

Я пытаюсь заблокировать некоторые "плохие" слова через regex и уже часа 3 ничего не понимаю...

Я пишу

^[хан]+$

Но помимо слова хан, так же запрещается писать хахаха.

Как мне сделать так, что бы нельзя было писать только это слово как заглавными, так и строчными, но при этом можно было писать другие слова, начинающиеся на ха (Слишком уж сложно для каждого слова писать несколько значений: хан,Хан,ХАн,ХАН и т.д.)


Ответы (1 шт):

Автор решения: fake_in

Разобралась сама.

(?i)(^|[^а-яА-Я0-9])х+(\W|_|\d)*а+(\W|_|\d)*ч+$(\W|_|\d)*(?![а-яА-Я0-9])

Тут мы видим флаг i в скобках, знак ^ показывает, что бан начинается с первой написанной буквы х, а знак $ показывает, где заканчивается слово и после этой буквы другие слова банить не надо.

Кому надо делюсь здесь.

→ Ссылка