Регулярное выражение для нахождения русского мата в тексте. Использовать следует только для первичной модерации, ибо обходится нажатием в одну клавишу. Если вам требуется полноценный фильтра мата, советую прибегнуть к программному пути создания такового, найти третье API, или просто остановиться на ручной модерации.
Выражение писалось в первую очередь с оглядкой на регулярки Java - для других языков может потребоваться адаптация.
\b(
((у|[нз]а|(хитро|не)?вз?[ыьъ]|с[ьъ]|(и|ра)[зс]ъ?|(о[тб]|п[оа]д)[ьъ]?|(.\B)+?[оаеи-])-?)?(
[её](б(?!о[рй]|рач)|п[уа](ц|тс))|
и[пб][ае][тцд][ьъ]