# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"(?:без|бес|в|во|воз|вос|возо|вз|вс|вы|до|за|из|ис|изо|на|наи|недо|над|надо|не|низ|нис|низо|о|об|обо|обез|обес|от|ото|па|пра|по|под|подо|пере|пре|пред|предо|при|про|раз|рас|разо|с|со|су|через|черес|чрез|а|ана|анти|архи|гипер|гипо|де|дез|дис|ин|интер|инфра|квази|кило|контр|макро|микро|мега|мата|мульти|орто|пан|пара|пост|прото|ре|суб|супер|транс|ультра|зкстра|экс|(?<=\s))[ъь]?(?:[хx][уy][ейiяyи]|[pп][иёе][zзsсc][dд]|[eе][лl][dд]|[еёeiи][бb]|шлю|твар|хер|мраз|шалав|манд|сипов|секел|поц|дроч|залуп|минд?ж|пид[оа]|курв|сперм|г[ао]нд|менстр|кун[аи]|сра[тл]|сса[тл]|бзд|перд|дри(?:ст|щ)|говн|жоп|целк|трах|харит|минет|блев|малаф|вагин)(?:адь|ак|алей|ан|ян|анин|янин|анк|янк|ар|арь|ариц|арк|ач|ени|ани|еств|ств|есть|ость|ец|к|изм|изн|ик|ник|нин|ин|атин|ист|иц|ниц|их|л|лк|льн|льник|льщик|льщиц|н|ог|г|р|от|ет|тель|итель|ун|чик|щик|чиц|ыш|ал|ел|аст|ат|ев|ов|енн|онн|енск|инск|ив|ит|овит|лив|шн|оват|еват|тельн|уч|юч|яч|чат|чив|а|я|е|и|нича?|ну|ова|ева|ствова|ся|сь|о|ск|жды|учи|ючи|то|либо|нибудь|ание|ение|ба|ь|исса|эсса|ива|ествова|изова|ирова|изирова|ства|ка|яка|ича|б|об|ытьб|в|ав|ощав|овлив|елив|члив|овь|o|тв|овств|инств|тельств|ляв|аг|инг|ург|уг|ыг|д|ад|иад|арад|оид|ядь|ое|ые|аж|ёж|ёжь|оз|ки|очки|ушки|нюшки|унюшки|еньки|ошеньки|охоньки|ами|ками|ай|атай|ей|ачей|ий|овий|стви|ни|ани|овани|ени|e|арий|ери|орий|ти|т|ци|аци|изаци|ици|нци|енци|ачий|ичий|a|ой|кой|уй|тяй|чак|авк|овк|ловк|анек|енек|онек|ышек|ежк|евик|овник|еник|ейник|арник|атник|истик|овщик|айк|ейк|инк|онк|унк|ок|онок|чонок|ушок|ерк|урк|вск|евск|овск|еск|ческ|ическ|истичес|лезск|эзск|йск|ейск|ийск|имск|нск|анск|ианск|унск|тельск|етк|отк|ютк|ук|чук|ацк|ецк|чк|ачк|ечк|ичка|очк|шк|ашк|ёшк|ишка|ишко|ушк|ышк|ык|ульк|усеньк|ошеньк|оньк|охоньк|юк|як|няк|ль|ла|ло|аль|овал|ёл|ель|ил|ол|оль|ул|ыль|онизм|им|ом|м|ком|иком|ышком|няком|уном|ишом|ым|нь|уган|иан|овиан|лан|ман|ебн|обн|евн|ивн|овн|ень|ен|ён|мен|смен|яжн|знь|езн|овизн|озн|иозн|бин|овин|лин|елин|нин|жан|чан|овчан|ичан|инчан|тян|итян|чин|щин|овщин|льщин|йн|ейн|нн|анн|ованн|ированн|ённ|овенн|ственн|менн|ионн|ационн|он|арн|орн|сн|снь|отн|ятн|ичн|иничн|очн|ашн|ишн|ышн|альн|идальн|иальн|ональн|уальн|ельн|абельн|ибельн|ительн|ильн|ынь|иян|ко|очко|енько|ошенько|онько|охонько|но|овато|атарь|ер|p|онер|мейстер|up|ор|вор|тор|атор|итор|ур|тур|amyp|итур|ырь|яр|с|ис|анс|есс|ус|ариус|ть|am|иат|дцать|надцать|евт|итет|нит|инит|ант|ент|мент|амент|емент|оть|иот|имость|ность|нность|енность|тость|ут|у|y|ку|еньку|оньку|ому|ану|оту|х|ах|ках|ох|ух|ц|авец|овец|лец|омец|нец|енец|инец|овиц|лиц|овниц|ениц|атниц|униц|ичниц|очниц|ешниц|льниц|тельниц|льц|ч|ич|евич|ович|нич|ыч|ш|аш|иш|айш|ейш|ошь|ош|уш|оныш|ащ|ищ|ище|ища|бищ|овищ|лищ|ущ|еющ|ы|ажды|ою|ую|остью|мя|ая|ее|ше|ший|ши|вши|вш|ёх|до|по|ему|рас|(?=\W))+(?:[ьоеамийу]|ам|ами|ас|am|ax|ая|её|ек|ей|ем|еми|емя|ex|ею|ёт|ёте|ёх|ёшь|ие|ий|им|ими|ит|ите|их|ишь|ию|jу|ми|мя|ов|ого|ое|оё|ой|ом|ому|ою|cm|ум|умя|ут|ух|ую|шь|(?=\W))"
test_str = "ебание, ебанье, ебель, ёбка, ебля, ёбля; ебало, ебальник, ебальничек, ебальце, ебач, ебельник, еблет, еблетень, еблец, еблецо, еблина, еблище, ебло, ёблышко, ебучка, ебушатник, ебушатня, ёбыч; ебабельность, ёб, ёба, ебак, ебака, ебалай, ебан, ебанавт, ебанатик, ебанация, ебанашка, ебандяй, ебантей, ебанутик, ебанушка, ёбань, ебанько, ебарёк, ебарёчек, ебаришка, ебаришко, ёбарь, ебатарь, ебаторий, ебатория, ебатура, ебашилово, ебелистика, ебень, ебеня, ебетень, ебец, ебёшка, ёбж, ёбжик, ёбик, ебилитация, ебистика, ебистос, ебица, ебицин, ёбкость, еблан, ебланище, ебланка, еблематика, ебливость, еблито, ебня, ебок, ебология, ебота, еботина, еботня, еботуха, ёбрик, ёбрь, ёбство, ебуки́, ебун, ебунец, ебунок, ебундей, ебуница, ебунчик, ебунья, ебур, ебурлыг, ебуха, ебучесть, ёбщик, ёбщица, ёбырь, ёж эвф. от ёб, етьба, етьё, ёш; ебалай-ебалаевич, ебанько-подай-патроны, ёбарь-надомник, ёбарь-перехватчик, ёбарь-террорист, ёба-сутра, ёбла-шобла, ебун-гора, ебун-страна, ебун-трава, ебун-царь, музон-заебон, шобла-ёбла; взъёб, взъёбка, выебесы, выебина, выебосы, выебусики, заёб, заёба, заебанец, заёбка, заебон, заеботина, заёбушка, заёбыш, изъёб, наёб, наебаловка, наебалово, наебательство, наёбка, наебон, наебончик, наёбочка, наёбщик, наёбщица, невзъебенность, невзъебучесть, невъебение, недоёб, недоёба, недоебучесть, неебабельность, объёб, объёба, объебательство, объёбка, объеблан, объебон, объебончик, объебос, объебушечка, объебушка, объёбщик, объёбщица, переёб, подъебательство, подъёб, подъебаш, подъёбка, подъебон, подъебончик, подъебушка, подъёбщик, подъёбщица, поебёнка, поебень, поебёшка, поебистика, поёбка, поебон, поебончик, поебо́та, поеботина, поебусенка, поебуха, поебушечка, поебушка, приёб, проёб, проёбщик, проёбщица, проёбырь, разъёб, разъёба, разъебай, разъебалово, разъебон, разъебончик, разъебуха, распроёб, распроёбка, съебаторы, съёбка, уёба, уебан, уебанище, уёбан, уёбище, уёбок, уёбыш, эбанск, япон; блядоёбина, веселоебучесть, волоёб, волоёбство, вротъебанство, долбоёб, долбоебизм, долбоёбище, долбоеботня, долбоёбство, долгоёб, дуроёб, ебасос, еблотряс, еботрахань, ебукентий, ебулдос, ёбфренд, злоебучесть, козлоёб, козоёб, колдоёбина, конеёб, коноёбина, коноёбица, короёбочка, кошкоёб, куроёб, луркоёб, мамкоёб, мамоёб, многоёб, мозгоёб, мозгоебание, мозгоебанье, мозгоебатель, мозгоебательство, мозгоёбка, мозгоёбство, мудоёб, мудоёбство, мумоёб, мумоебание, мумоебанье, мумоёбство, наеботека, нищеёб, нищеёбка, нищеёбство, Одноёбники, овцеёб, ослоёб, пиздоёбство, пиздопроебень, пиздопроёбина, пиздопроёбище, пиздопроёбство, понтоёб, самоёб, свиноёб, сестроёб, собакоёб, страхоёбина, хитровыебанность, худоёбина, хлебушек"
matches = re.finditer(regex, test_str, re.MULTILINE | re.IGNORECASE)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html