Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Random page
Categories
All pages
Contribute
Recent changes
Wanted pages
Stub articles
Needs work
Special pages
Search
Search
Appearance
Log in
Personal tools
Log in
Pages for logged out editors
learn more
Contributions
Talk
Viewing abuse filter 9: Memes and vandalism trends (moomer slang + zoomer slang)
Help
Home
Recent filter changes
Examine past edits
Abuse log
English
Tools
Tools
move to sidebar
hide
Actions
General
Printable version
Appearance
move to sidebar
hide
Editing filter 9
Filter parameters
Filter ID:
9
Description:
(publicly viewable)
Filter hits:
0 hits
Statistics:
Of the last 19 actions, this filter has matched 0 (0%). On average, its run time is 0.58 ms, and it consumes 1 condition of the condition limit.
Conditions:
/* * False positive reports: * 1. For good edits from autoconfirmed users, consider suggesting they add a citation. * 2. If the addition can be rephrased to avoid the filter, suggest that approach. * 3. If the user account is close to 60 edits and 7 days in age, suggest retrying after * meeting those thresholds. * 4. Experienced users can "seed" a page by adding a comment like "<!-- Replace this * comment with your addition about 'blocked phrase'. -->". * * Maintenance notes: * 1. Remember to escape # and use \s for whitespace. * 2. Exceptions to reduce false positives are located at the end of the filter. * 3. This command can be used to sort sections of the regex lines: * perl -ne '$r=qr/^(\\[bs]|\W)+/;push@a,$_;END{print sort{$a=~s/$r//r cmp $b=~s/$r//r}@a}' * 4. Make sure every regex line other than the first line has a leading pipe, especially after sorting. * 5. Pure keyboard smashing is handled in filter 135. */ !contains_any(user_groups, "extendedconfirmed", "sysop", "bot") & equals_to_any(page_namespace, 0, 4, 10, 12, 14, 118) & (user_editcount < 60 | user_age < 604800) & ( pattern := "(?x) # case-sensitive \bඞ\b |\b67\s*ohio\b |\b(?:BUM|bum)\s+(?:BUM|bum)\b |D+I+D+D+Y+ |(?<!\=)\b[Dd]id\s*you\s*know\s*that\b |\b(?:GOAT|goat)(?:[Ee][Dd]|\s+[Oo][Ff])\b |\b(?!Hello,?\sMy\sName\b)\b[Hh](?:[Ee]+[Ll]+[Oo]+|[Ii]+)\W+[Mm][Yy]\s[Nn][Aa][Mm][Ee]\b |\bHitIer\b |\b(?!LMFAO\b|[Ll]mfao(?:[\-/:]|\s*[(|]))[Ll]+[Mm]+[Ff]*[Aa]+[Oo]+\b |(?<!\bPhi\s)(?<!\bSigma\s)(?<!\x{005c})[Ss]igma(?!\sSigma\sSigma\b)\W{0,3}[Ss]igma(?!/|\.org\b|\W+(?:Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega)\b|\W+(?:[Cc]hapter|[Cc]ommons|[Ee]stablished|[Ff]ounded|[Hh]onorary|[Nn]ational|[Ss]isters)\b) |\bS+I+G+M+A+\w*\b |TOILET |\bTUFF+\b |(?<![\"\+\-\.\/])\bdiddy\b(?![\#\&\-\.\/\|]) |\blabubu\b |\blowk\b |(?<=\s)\bppl\b(?=\s) |(?<![\"\-\/\|])\broblox\b(?![\-\/]|[^\[\]]*?\]\]|\"\s*\/?>|\.\w) |\btung\s*tung |\bur\s+(?:face|mouth|self)\b |(?<!\=\s)(?<![\x{0022}\x{0027}\=\[\|])\b(?:IF|If|if)\s(?:YO|yo)?[Uu][\s\x{0027}Aa\x{2019}]{0,2}(?:RE?|re?)\s(?:READ|read)\w*\s(?:THIS|this)\b(?![\x{0022}\x{0027}\]\|]) # case-insensitive |(?#DO NOT MOVE THIS LINE)(?i) 420\s*b+l+a+z+e+\s*i+t+ |\b2067(?:\s*\|\}\}) |\b(?:420|69)+\s+(?:april|august|countries|december|february|january|july|june|march|may|november|october|overall|september|trillion)\b |(?:6+\W*7+|six(?:ty)?[\s-]seven)\W*(?:(?:6+\W*7+\W*){3}|bo[iy]+s?\b|brain.?rot|chicken|gang|joke|kid|mango|mason|meme|mustard|s+i+x+t*y*\W*s+e+v+e+n+|sigma) |\b67(?:\s+67\s+|67)67\b(?<!\#676767)(?<!\bhex=676767) |\b67\W41\b |\b(?<![/-])69\.69(?![/-])\b |\b69ers?\b |(?:\=(?<!\S\=)|\b(?:as|of|the))\W*diddy\b(?!(?:\x{0027}s)?[\s-]kong\b) |(?=a+h|h+a)[ah]{7,}(?![\w\-]*\&[\w\-]+=) |(?:\ba\b|name\s*=)\s*sigma(?![\s\-_]+(?:[\d-]+mm|\d+|algebra|alpha|baryon|beta|bond\w*|chi|complex|coordinate\w*|delta|epsilon|eta|factor|force|gamma|hole|iota|kappa|lambda|ligand|mu|nu|omega|omicron|phase|phi|pi|psi|rho|sigma|tau|theta|upsilon|xi|zeta)\b) |absolute\s*unit |amo+u?n*g\w?[\s_]*us(?:\w?|s*)\b(?<!\bamong\sus) |among\W+us\b.{0,20}\b(?:among\W+us|game|impost[eo]r|ohio|sus\b) |\b(?!analogs|catalog|catalogue|chapter|control|creation|directory|founder|history|involvement|members?|organ|president|recipient|role|society|version)\w+\s*of\s*the\s*sigmas?\b |\banti\s*spirals?\b |\b(?:april|august|born|december|february|january|july|june|level|march|may|november|october|(?<!\bawards\s)on|september)[\s,]+(?:(?:69)+|2069|2099|420|42069|69420)\b |\b(?:are|bitch|fuck|gay|hoe|is|moms|random|shit|shitty|so|stupid|suck|they|ugly|ur)\s*ass\b |\b(?:are|is|not|really|so|the|was)\s+tu+f+\b |(?<!\bas\s)\bstinky\b(?!\W*(?:bean|cheese|davis|pete|tofu|toys|the\sskunk)\b|\s\&\sdirty\sshow\b) |\baura(?:\s*max|\s+(?:count|farm\w*|like|points)\b) |aviation\s*,.{0,80}?there\s*is\s*no.{0,80}?bee.{0,80}?be\s*able\s*to\s*fly |(?:awk|h(?:a+[uw]+|o+)[chk]{1,2})(?:\w*(?=\W+tuah)|e[ds]?|i?ng?|s)?(?:\W+|\w)?(?:2|tw*[ou]+)(?:(?<=u)a|\s?a+h+|a+\w?\b) |\bayyy+ |(?:\b(?:a|likes?|loves?|no|oil|to)\b|\bp(?![\s.]diddy\W+song\b|\.\sdiddy))\W*diddy\b |\bb(?:om|u)bocl[ao]t |b+o+iii+ |b+r+[\W_]+b+r+[\W_]+[bp]+a+t+a+[bp]+i+m |\bbaby\W?oil |baby\s*gronk |\b(?:bad|bo[iy]|in\sthe|little|my|ski)\s*[bp]?uss(?:ies|y)\b |balkan\s+(?:breakfast|parents|rage) |\bballsack\b |\bbananini\b |\b(?:big|boring|dat\b|dumb|gay|go+f+y+|looking|stupid|v[aei]+n[iy]|zesty)\W*(?:[ah]{3,}\w*|a+h+)\b |(?<!\bblack\s)\byearn\w*\s+for\s+the\s+mine\w*\b |\bbluds?\b |\bbombardiro\b |\bboobs\b |(?:\bboy|\bis|\bis\s+a|\bnot|\bso+|idi|ohio|toilet|very|what\s+the)\s*sigma(?![\s\-_]+(?:[\d-]+mm|algebra|baryon|bond\w*|chi|complex|coordinate\w*|delta|epsilon|eta|factor|force|gamma|hole|iota|kappa|lambda|ligand|mu|nu|omega|omicron|phi|pi|psi|rho|tau|theta|upsilon|xi|zeta)\b) |\b[bp]ata[bp]i[nm] |\bbr(?![ao]h\b)(?:[aou]+[hv]+|ooo+)\b |\bbrain[\W_]*rot\w*\b |\b(?:bro|bru|(?<!\x{005c})cap|fr|gng|gurt|icl|idk|istg|js|lwk|ngl|ong|pmo|rn|sm|smh|sybau|tbh|ts|tuf+|u|vro|yall|yo)\s+(?:bro|bru|cap|fr(?![\x{0022}\x{0027}\x{005d}\x{007c}])|gng|gurt|icl|idk|istg|js|lwk|ngl|ong|pmo|rn|sm|smh|sybau|tbh|ts(?=\s[a-z])|tuf+|u|vro|yall|yo)\b(?<!\bong\song)(?<!\bsm\su)(?<!\bu\su)(?<!\byo\syo) |(?<![\"\/\=\|])\bbtw\b(?!.{0,160}\b(?:\w+weight\b|champion|championship|tag.team|wrestling)\b|[\"\-\/]|[^\[\]]*?\]\]|\.\w) |bush\s*did\s*9.?11 |\bbussin\b |\b(?!(?:b|d|nch|ns|t)ibb?idd?[iy]\b)(?:[bdiklnqrsty]|\ba|ch|s\w){1,5}i+b+i+d+[iy]+\b |(?<![\-\:])\bcaca\b(?![\)\-\.\|]) |\bcappuccina\b |\bcaseohs?\b |chicken[\W_]*(?:f[u\*]?[c\*]k|j+o+c+k+(?:e*y+|i+e+)s*\b|s+t+a+r+[sz]+) |\b(?:children|height|name)\s*=\s*67\b |\bchimpanzini\b |\bching\s*chong\b |\b(?:(?!christian\b)ch?ristiano?|goat|messi|ron[adlo]{3,})(?:[\x{0027}\x{2019}]?s)?\b.{0,20}\bs+(?:i+u+|u+i+)\b |chung[uea]s\b |\bcrocodilo\b |\bd+ee+z+\b |\bd+i+h+\b(?<!\bdiih\b) |(?<!\=)\b(?:\d99+|\d*0+|\d{8,}|[bm]illion|gain\w*|infinit[ey]|max\w*|most|much|trillion|zero)\s+aura\b |dQw4w9WgXcQ |(?<![\#\d])(?:69(?:\D{0,5}|\s+(?:\w+\s+){0,5})420|420(?:\D{0,5}|\s+(?:\w+\s+){0,5})69|(?:69\D{0,5}){3,})(?!\d) |dank\s*meme |\bdelulu\b |(?:dems?|them[\x{0027}\x{2019}]?s?|those\s+are)[\x{0027}\x{2019}]?\s+(?:da|th[ea])\s+fa(?:cts|x) |\bdic?k[aei]+p[aei]+d\w*\b |\bdiddler\b |\bdiddy(?:[\x{0027}\x{2019}]?s)?\W*(?:.{0,80}\b(?:(?:any|no)thing?\W*wrong|baby\s*oil|freak.?offs?)|academy|ah+\w*|blud\w*|combs|did\w*\W+did\w*|diddy|drake|for|freaky?|free|gif|high|house|i|is|jpg|oil|parties|partys?|png|school|studios|volumes|was)\b |\bdiddys\b |\bdo[mp]\s+(?:do[mp]|yes)\b |\bdrippy\b |\bdrizzler\b |drumpf |(?<!\b(?:du|le)\s)(?<!\bancien\s)(?<!\bcryptographic\s)(?<!\bnouveau\s)(?<!\|)\bnonce\b(?!\=|.{0,160}\bsecurity\b|\W+(?:a|apostolique|based|code|en|forms|in|n|nonces?|orders|paolini|reuse|title|to|values?|words?)\b) |(?:d|th)[3e]+[sz]+[3e]*\s*n+u+t+[$sz] |(?=e+h|h+e)[eh]{6,} |\b(?:eat|kiss|lick|smack|smell|stick|suck)\w*\s+my\s+(?:arse|ass|ball|big|bog|butt|cock|cum|dic?k|fucking|meat|nut|penis|pp|schlong|shorts|tits|weiner)[sz]?\b |\benchantment\s+upon\s+her\s+of\s+a\s+fearful\s+sort\b |epst(?:ein(?!\W*files)|ien)\W*(?:did\W*n.?t\W*kill|files|island) |\berm\s*what\b |f\s*r\s*e\s*e\s*d\s*i\s*d\s*d\s*y |\bfart(?:ed|y)\b |\b(?:fart|pee+|poo+p?)s?[\s-]*(?:fart|pee+|poo+p?)s?\b |\bfem\W?bo[iy]s?\b |fetus\s*deletus |\bflint\s+and\s+steel |\bfrfr\b |\bfun\sfact\b |(?:f|ph)[au]nt?[ou][mn]\W*tax |\bg+a+yy(?:y|\b) |\bg+y+a+t(?!(?:a|ei|ermes|huk|og|rul\w*|sha|sho|so|so[\da-mo-z_]\w*)\b)\w* |german\s+stare |\b(?:gig+a|meg+a+)\W*chad\w*\b |\bgoon(?:\s+to|bender|ed|er(?!athne|atna|atne)\w*|ing)\b |\bgriddy\b |\bgrimace\W*shak\w*\b |gucci\s*gang[\s,]*gucci\s*gang |\bgurt[\W_]+yo\b |gyatt |\bh+iii+ |\bha(?:ile|le|lie)y\W?welch\b |\b(?:he[\x{0027}\x{2019}]?s|is|lebron|messi|you[\x{0027}\x{2019}]?re|you\s+are)(?:\s+not)?\s+(?:da|my|the)\s+g\.?o\.?a\.?t\.? |hit\s*or\s*miss[\s,]*I\s*guess |hitler\b.{0,40}\b(?:any|no)thing?\W*wrong |\bhuzz+\b |\s*i\s*n\s*t\s*h\s*[ae]\s*p\s*(?:(?:[@uv*]\s*)+(?:[zs\$*]\s*)+|[zs\$*]{2,})\s*a*y+ |\bi\s+am\s+steve\b |\bidk\b(?!\=[\w-]) |impost[eo]rs?\b.{0,20}\b(?:among\sus|sus\b) |\bis\s+the\s+g\.?o\.?a\.?t(?:\.|\b) |ishowspeed |isn[o\x{0027}\x{2019}]tr(?:ae|ea)l |\b(?:is|was)\s+gay\b |jamaican\s+smil(?:er?s?|ing) |jeff(?:er|re)y\W*epst(?:ei|ie)n(?<!jeffrey\Wepstein) |joe\s+m[oa]m+a |\bjohn[\W_]*pork\b |(?<!koe\s)\by+ee+t+(?:e+(?:r+|d+))?\b |l+[aeiou]+l+[aeiou]+l+[aeiou]+l+[aeiou]+l |l+o+(?:w*|w\w*)\s*t+a+p+e+r+\s*(?:f+a+y*d+e*|l+o+w+) |l+o+l+o+l+o+ |\blava[\W_]*chicken |\bligma\b |(?:like|mangoe?|mason|mustard|sigma|stars|toilet|tuff+)s?[\s-]*(?:6+\W*7+|six(?:ty)?[\s-]seven) |\bliril[iì](?:\b|.?laril[aà]) |looksmax |\b(?:love|my|your)\W*(?:fortnite|minecraft|roblox)\b |\b(?:l|rip)\s*bozo\b |mango(?:e?s)?\W*(?:mango|mustard|phonk) |\bmeww?(?:e[dr]|ing(?!.{0,80)\b(?:alarm|call|noise|note|sound)s?\b)\b |\bmog(?:ge[dr]s?|ging)\b |\bmy\sball[sz]\b |never.?gonna.?(?:give.?you.?up|let.?you.?down) |\bnibb+a+\b |nick\s*turani |\bnoob(?:ini)?s?\b |\bo+h+i+o+\b(?<!\bohio) |\bo+w+o+(?!\b.{0,16}\bsoup)(?:(?:w+o+)+w*)?\b |\bohio\b\W*\b(?:boss|canada|cuz|final|grimace|india|province|sigma|swag|toilet)\b |\boi\s+(?:b+a+k+a+|oi)\b |\boil(?:ed|ing)?\s+up\b |ok(?:ay)?,?\s+boomer |\booo+f+\b |(?<!\=)(?<!page/)\b67\s+67\b |\bpoggers?\b |\bpookie\b |\bpoopy\b |\bquandale(?:ding\w*)?\b |\br+e{6,} |\br+i+z+(?:\w*\b.{0,40}\bhuzz\b|ful|l[ey]|mas|y|z\b|ze[drs]|zing) |\b(?:ranboo|tubbo) |rawr\s*xd |\#redirect\s*\[\[donald[\s_]trump\]\] |\broblox\b[\s,\w]{0,30}\b(?:add|mom|my|name)\b |\brobux\b |\bs(?:u+i{3,}|i+u{3,})\b |\bs+i+g+m+a+s*\b(?<!\bsigma) |\bs+i+x+[\s-]*s+e+v+e+n+\b(?s?\b) |s+i+x+t*y*\W{0,3}s+e+v+e+n+(?<!\bsix\W\W\Wseven)(?<!\bsix\W\Wseven)(?<!\bsix\Wseven)(?<!\bsixty\Wseven) |s+k+(?:[1bdipt]{4,}y*\b(?<!skip\w\w)|[iy]+[bdpt]+[iy]+[bdpt]+[iy]+|b+i+d+i+|i+b+d+i+|i+b+i+(?:[bdpt]|\b)) |\bs+us+us+\b |\bsdiybt\b |\[\[(?!sean\scombs\|)[^\]]*diddy(?!(?:\x{0027}s)?\skong\b|\ssong\b) |\bsevennn+\b |\bshee(?!sh(?:[\s\-]?mahal|\sram)\b)e*sh\b |sigma\W*(?:aura|ball|birth_name|bo[iy]|chad|description|erm\b|fanum|freak|giga|grind|high|land|low|male|mew\w*|ohio|people|person|pomni|riz+|school|sk[bdity]{3,}|toilet|town|what) |\bsii+x\b |\bslayy+s*\b |smartschoolboy9 |\bsmell(?:ed|s)\s+like\s+rotten(?!\s+(?:eggs|fish|meat)) |\b(?:sp[ai]t|tuah)\w*\s+on\s+(?:d|th)at\s+th[ia]ng\b |sub(?:scrib(?:e[ds]?|ing))?\s*(?:2|to)\s*(?:p(?:ew|oo|ud|ue|uw)|te*.?series) |\bsugma\b |\bsussy\b |sw[4ae]g\s*(?:yolo|daddy|money|lord|master) |\#(?:sw[4ae]g|yolo) |\bsybau\b |\bt(?!rail|relill\b|rial|rill)t*r+[aeiou]+l(?:[aeiou]+l|ll) |\bt+\s*h+\s*i+\s*c\s*c |t[aeiouy]+[mn]+g*[\s,\-.\x{2000}-\x{206f}]*t[aeiouy]+[mn]+g*[\s,\-.\x{2000}-\x{206f}]*sh?[au]+h+[aeou]+r |t[ou]ng[^\w\|]*(?:sh?[au]{0,2}h(?:[ae]|au|o+|u+)?r|t[ou]ng[^\w\|]*(?:sh?[au]{0,2}h(?:[ae]|au|o+|u+)?r|t[ou]ng)) |\bthe\s+nether\b(?!\sworld) |thick\s+of\s+it,?\s*everybody |\btim[\W_]*cheese\b |\btoilet\W*ohio\b |\btu+fff*\W?(?:alpha|b+o+i+|bro|est|f+|guy|kid|man|mango\w*|phonk)s?\b |\bu+w+u+\b |u+w+u+w+u+ |ugandan\s*knuckles |[ui]s\s+sus\b |\bur\s+(?:annoying|anus|bad|dad|dongers|dumb|gay|going|lucky|m[ao]m+a|m[ou]ms?|more|mother|reading|sigma|stupid|trash)\b |\b(?:(?:u|ya?|yo?u)\W*know|[uy]k)\s*what\s*else\s*is\b |\bw+o+m+p+(?:\W*w+o+m+p+|\b(?![\#\-\.\/])) |whopper.{0,2}whopper |(?<!\x47)\bvro\b |\by+o+l+o[lo]+ |y\s*o\s*[lo\s]+s\s*w\s*[4ae]+\s*g+ |\byall+\b |\byo[\s:]+(?:bro|chest|forehead|gurts?|its|jaw[sz]|know|m[ou]ms?|mouf|mouth|tail|this|you)\b |\byooo+\b |\byou(?:[\x{0027}\x{2019}]?re?|\s+are)\s+(?:gay|so+\s(?:damn|dumb|fuck\w*|full|gay|goddamn|so+|stupid|ugly))\b |\byour\s+(?:butt|dick|gay)\b "; added_lines rlike pattern & /* excluded pages */ !equals_to_any(page_id, 11022716, 16283969, 26204397, 43618504) & /* exceptions for Template and Wikipedia space */ !(equals_to_any(page_namespace, 4, 10) & ( added_lines rlike "~~~~" | page_prefixedtitle rlike "^Template:Did you know nominations(?:/|$)" | page_prefixedtitle rlike "^Wikipedia:Sockpuppet investigations(?:/|$)" | page_prefixedtitle rlike "^(?:Template:(?:Template sandbox|X(?:[1-9]|1\d|20))|Wikipedia:Sandbox)$" | ( page_prefixedtitle == "Wikipedia:Articles for creation/Redirects" & ("autoconfirmed" in user_groups | added_lines rlike "\[\[(?!Example[12]\]\])[^\]]+\]\]|(?i)\b(?:btw|idk)\b") ) ) ) & /* exceptions for autoconfirmed users */ !("autoconfirmed" in user_groups & ( (added_lines rlike "\b(?:[Hh]awk[\s-]?[Tt]uah|[Hh]aliey[\s-]?[Ww]elch|spit\son\sthat\sthang)\b" & equals_to_any(page_id, 55675861, 77275561, 77389801, 77962982, 78559650)) | (added_lines irlike "\bsigma(?:\W*sigma\b|s\b)" & page_title irlike "\b(?:college|fraternit[eisy]+|panhellenic|sigma|sororit[eisy]+|university)\b") ) ) & /* first match exceptions if user_name looks okay */ !(!(user_type == "named" & user_name rlike pattern) & ( added_matches := get_matches(pattern, added_lines); added_match := length(added_matches) > 0 ? added_matches[0] : "_NONE_"; removed_matches := get_matches(pattern, removed_lines); removed_match := length(removed_matches) > 0 ? removed_matches[0] : "_NONE_"; /* break down normalization steps to avoid "too much recursion" error in debugger */ lcase_added := lcase(added_match); lcase_removed := lcase(removed_match); norm_added_match := str_replace(lcase_added, "-", " "); norm_removed_match := str_replace(lcase_removed, "-", " "); /* first match is same as first match in removed text */ (norm_added_match == norm_removed_match) | /* no additional restrictions */ (added_match == "DIH" & new_wikitext rlike "\b(?:Banks DIH|D[a-z]+ I[a-z]+ H[a-z]+)\b") | (added_match == "Dih" & added_lines rlike "\b[A-Z][a-z]+ Dih\b|\bDih\W+(?:Bhojpur|Raebareli)\b" & !(added_lines irlike "\bdih\W+(?:cheese|on|to)\b|\b(?:a|ah+|as|big|dih|has|have|his|likes?|massive|my|small|taking|this|veiny|vieny|your)\W+dih\b") & new_wikitext irlike "\b(?:bihar|jagran|jharkhand|madhubani|mahottari|maithili|mishra|mithila|sanskrit|uttar pradesh|vidyapati)\b") | (added_match == "dih" & added_lines rlike "\bmod\.go\.jp/dih\b") | (added_match == "uwu" & added_lines rlike "\b(?:publico\.es/uwu|uwu\.ac\.lk)\b") | (added_match irlike "\b\w{2,9}[\s,]+(?:2069|2099|420|69)\b" & old_wikitext irlike "\b(?:april|august|born|december|february|january|july|june|level|march|may|november|october|on|september)[\s,]+(?:2069|2099|420|69)\b") | (added_match irlike "\bowo\b" & new_wikitext irlike "\b(?:akoko|ekiti|ekpo|enugu|ghana\w*|ibadan|ife|igogo|ijebu|ile|kwate|lagos|nigeria\w*|nii|nkanu|nollywood|nta|oba|ogun|ogunoye|ojomo|oke|olagbegi|olowo|ondo|ose|yorub[ao]\w*)\b") | (added_match irlike "\broblox\b" & user_type == "named" & old_wikitext irlike "\broblox\b") | (added_match irlike "^(?:btw|idk)$" & user_type == "named" & added_lines irlike "<!--[^>]{0,80}?\b(?:btw|idk)\b") | (added_match irlike "^btw$" & equals_to_any(page_namespace, 4, 118)) | (added_match irlike "^gyat" & old_wikitext irlike "\btibet(?:ans?|ic)?\b") | (added_match irlike "^sheesh$" & new_wikitext irlike "\bbabymonster\b") | (added_match irlike "^six[\s-]seven$" & (old_wikitext irlike "\bsix[\s-]seven\b" | added_lines irlike "\b(?:eight|five|four|last|least|nine|one|pick|seasons?|seven|six|three|two)[\s-]six[\s-]seven\b")) | (added_match irlike "^stinky$" & (added_lines irlike "(?<!\x27)\x27stinky\x27(?!\x27)|\x22stinky\x22" | old_wikitext irlike "\bstinky\b")) | (added_match irlike "^susus$" & old_wikitext irlike "\bsusu\b") | (added_match irlike "^ur not$" & added_lines irlike "f[*u][*c][*k] u skrillex") | (added_match rlike "[Ss]igmas" & old_wikitext irlike "\b[Ss]igmas\b") | (added_match rlike "^(?:42069|69420)$" & added_lines irlike "https://\S*(?:(?:\.|\b[\da-f]+)(?:42069|69420)[\da-f]*\b|\b[\da-f]*(?:42069|69420)[\da-f]+\b)") | (added_match rlike "^You(?: A|\x27)re (Gay|So)\b" & user_type == "named") | (added_match rlike "^Your (?:Butt|Dick|Gay)$" & user_type == "named" & added_lines rlike "\bYour (?:Butt|Dick|Gay)\b (\w+ )?[A-Z][a-z]+\b") | /* template exceptions */ ( pattern_limited := "\b(?:boobs|bruv|did you know that|fun fact|hehehe|idk|is gay|is the goat|lmao|nonce|pookie|sheesh|sigma|was gay|yall|yooo)\b"; sourcing := "\{\{[Cc]ite\b|(?i)<ref(?:\s[^>]*?)?/?>(?!\s*</ref>)"; sourcing_increase := rcount(sourcing, added_lines) > rcount(sourcing, removed_lines); match_limited := added_match irlike ("^" + pattern_limited + "$"); match_limited_many := added_lines irlike ("(?:" + rescape(added_match) + ".{0,64}){3}"); /* limited risk matches inside of quotations */ ( edit_delta >= 160 & edit_delta <= 16384 & match_limited & !match_limited_many & added_lines irlike ("\{\{(?:blockquote|quotation|quote)\b[^\}]*?" + rescape(added_match) + "[^\}]*?\}\}") ) | /* source additions */ ( edit_delta >= 160 & sourcing_increase & ( "autoconfirmed" in user_groups | ( match_limited & !match_limited_many & ( added_lines irlike ("\{\{cite\b[^\}]*?" + rescape(added_match) + "[^\}]*?\}\}") | added_lines irlike ("<ref[^/>]*>[^<]*?" + rescape(added_match) + "[^<]*?</ref>") ) ) ) ) ) | /* restricted to autoconfirmed users and drafts */ (("autoconfirmed" in user_groups | page_namespace == 118) & ( /* match in page title */ (lcase(page_title) contains lcase(added_match) & !(page_age == 0 & !"autoconfirmed" in user_groups)) | /* other marginal matches */ (contains_any(added_match, "IShowSpeed", "Roblox")) | (added_match == "baby oil" & !(added_lines irlike "\b(?:combs|diddy|freak\w*|of baby oil)\b")) | (added_match irlike "^skiibii$") | (added_match irlike "^skipitis?$" & new_wikitext irlike "\bskipitis\b") | (added_match rlike "^(?:WOMP|Womp|womp)$") | (added_match rlike "\b(?:is|was) gay\b" & added_lines irlike "\b(?:he|who) (?:is|was) gay\b") | (added_match rlike "^[Bb]rain[\s\-][Rr]ot$") | (added_match rlike "^\W*Among Us\b") ) ) ) ) & /* Wiki Ed exception */ !( user_type == "named" & page_prefixedtitle rlike "^Wikipedia:Wiki Ed/" ) )
Notes:
Regex unit tests at: https://regex101.com/r/YZTMl4/24 A fairly comprehensive filter for "yolo", "swag", "420 blaze it", "fuck her right in the pussy", "troll" and combinations thereof. "Yolo", "swag" (or "swagger"), and "troll" by themselves are not filtered. There was a filter similar to this a while back that apparently got deleted. I see this vandalism an awful lot, so thought I'd put this regex into a test phase -MusikAnimal trigger warning and tag -MusikAnimal very few false positives, disallowing -MusikAnimal 2014.07.17 Add filter for "swag daddy" and "sweg" instead of "swag" to match new trends, go back to warn/tag temporarily -MusikAnimal 2014.08.27 Back to disallow -MusikAnimal 2014.08.28 increase edit delta to 1000 ~MusikAnimal 2014.09.03 add 420 blaze it, tag only ~MusikAnimal 2014.09.10 and back to disallow ~MusikAnimal 2014.09.11 remove edit delta restriction ~MusikAnimal 2014.09.12 adding "fuck her right in the pussy", a new trend ~MusikAnimal 2014.09.23 adding vandalistic forms of "troll" (trololol, trolllll, etc) ~MusikAnimal 2014.10.13 Fix some false positives ~MA 2014.10.29 Optimize for conditions, replace [l\s*o\s*] with [ol\s] (though something else might be meant), optimize some of the regex, add !removed_lines irlike. restore original regex, please use debuggex to test changes; filter runs very fast as-is ~MA 2015.07.08 Moved regex into conditons. If this is compiled when the definition is hit, this will save processing time. Otherwise no harm is done. RF 2015-07-14 +chicken fucker from filter 689 ~MA +thems the facts from filter 675 ~MA Note "y\s*o\s*[lo\s*]+s\s*w\s*[4ae]+\s*g|y+o+l+o[lo]|s+w+[4ae]+gg[g]|#yolo|#sw[4ae]g|sw[4ae]g\s*(?:yolo|daddy|money|lord|master)|420\s*b+l+a+z+e+\s*i+t|\s*i\s*n\s*t\s*h\s*[ae]\s*p\s*(?:(?:[@uv*]\s*)+(?:[zs$*]\s*)+|[zs$*]{2,})\s*a*y|t+r+o+l(?:o+l+|ll+)|lolo(?:lo)|(?:d[3e](?:[3e]+[sz]+|[sz][sz]*)e?|th[3e][zs$][3e])\s*nu+t[zs$]|(?:f[u\*][c\*]k(?:ing?|ed|s)|sex\s*with?)\s*chickens?|chicken\s*f[u\*]?[c\*]k(?:er|s|ing)?|(?:them\'?s?|dems?|those\s+are)'?\s+(?:th[ea]|da)\s+fa(?:cts?|x)!?" is shorter and matches faster:- checks out on debuggex. RF FP for "Deez Nuts (band)" - lets assume that if there's no link to the article it's not legit, at least for now. RF +"dank meme" per [[Special:Permalink/761029363#Dank Memes]], removing check for "Deez Nuts (band)" for now since it is semi'd ~MA 2016.01.20 Exempt everything that contains yolo or swag already. - KoH 20170122 Adding `+ "|yolo|swag"` apparently broke the filter, but checking against abuseStr by itself should handle the vast majority of false positives ~MA 2017.01.26 +"subscribe to pewdiepie" and similar -Galobtter 2019.01.01 +transmania(n), as filter 260 where this was listed has exceptions that this vandalism sneaks in on. -C 6Jan19 \b, false positives with "transmaniacon" (Special:AbuseLog/22928286) -G 2019.01.07 +"big chungus" -G 2019.01.08 +"spicy boi" and "fat biscuit" from filter 787 -G 2019.01.21 Actually remove "fat biscuit" as I don't see any hits in the log of 787 for it -G 2019.01.21 +"gucci\s*gang[\s,]*gucci\s*gang|\breeeeee|fetus\s*deletus", tested on 953. -G 2019.01.23 +yeet, tested on 953. -G 2019.01.23 +"\beats?\s*ass\b|ugandan\s*knuckles" tested on 953 -G 2019.01.25 Last batch from 953: "hard\s+(?:pp|peepee)|(?:pp|peepee)\s+hard|\booo+f+\b|\bnibb+a+\b|absolute\s*unit|you'?ve\s*been\s*gnomed". -G 2019.01.31 +thicc and variants, -spicy boy (stale meme). More variants on subscribe to pewdiepie. Check edit summaries - catches a bit. -G 2019.02.14 Catch variants on transmania(n) per Special:Contributions/ParasolProds and Special:Contributions/OnScreenThat1982 -G 2019.02.16 Remove checking of summaries - I did not account for reverts inadvertently introducing the problematic phrases. -G 2019.02.17 +"g+aaa+y|\bg+a+yy|\bayyy|\bl+m+a+o|rawr\s*xd|b+o+iii|e+s+k+e+t+i+t|\bh+iii|h+iiii|hehehe|h[au]r[au]mba?e\b|aviation\s*,[\s\S]*?there\s*is\s*no[\s\S]*?bee[\s\S]*?be\s*able\s*to\s*fly"; some terms tested on 953, others (harambe, bee movie script) are merged from 784 and 813. Also check page_title now. -G 2019.02.28 Add word boundary to \bg+a+yy, causing FPs on names like "Gayyoom". Would have caused no FNs in last 1000 hits. --Suffusion of Yellow 18:01 16 May 2019 +"dQw4w9WgXcQ|\buwu\b|\bowo\b|hit\s*or\s*miss[\s,]*I\s*guess", tested on 953. -G 2019-05-17 +"ok(?:ay)? boomer" -G 2019-11-21 "joe m[oa]m+a", tested on 1013 --Suffusion of Yellow 17:47 26 Nov 2019 Merge "#redirect\s*\[\[donald[\s_]trump\]\]" from filter 843 --Suffusion of Yellow 20:56 27 Nov 2019 +"epstein\W+did\s*n.?t\s+kill" (See [[Epstein didn't kill himself]]), tested on 1013 --Suffusion of Yellow 20:46 30 Nov 2019 "g+aaa+y" matched Google Books URLs twice today. Temporarily moving to filter 1014 in case Google changed something in the format. --Suffusion of Yellow 07:13 6 Dec 2019 Leaving out "g+aaa+y" for good. Lots of gbooks urls contain "[A-Z]AAA[A-Z]" and only successfully used for vandalism twice in one week. --Suffusion of Yellow 22:27 14 Dec 2019 Add misspelling "epstien". --Suffusion of Yellow 21:39 17 Jan 2020 Add "bruh" -- Ohnoitsjamie 16:59 Feb 16 2020 * Per false positive hit on Bruhn, changed bruh to \bbruh+\b - Ohnoitsjamie Feb 22 2020 * Adding bruv (syn for "bruh") - Ohnoitsjamie 2020-12-21 Add 69/420 related strings. Tested in 1014. --Suffusion of Yellow 20:37 1 Mar 2021 Exclude webcolor #696969. --Suffusion of Yellow 19:16 3 Apr 2021 Merge in filter 1126, "\b(?:ranboo|tubbo)" --Suffusion of Yellow 19:24 5 May 2021 Tweak "them's the facts" pattern per FP. --Suffusion of Yellow 22:03 16 Jan 2022 Don't match on "Owo" (but still on other capitalizations). --Suffusion of Yellow 20:38 29 Jan 2022 Make 69 pattern a bit less aggressive. Change (and one above) suggested by Tamzin. --Suffusion of Yellow 21:19 29 Jan 2022 rm Harambe; some FPs and meme is mostly dead. Discussion at [[Special:PermaLink/1077907263#Lharg]]. --Suffusion of Yellow 21:11 18 Mar 2022 Add "quandale\s*dingle", tested on filter 1. --Suffusion of Yellow 23:27 11 May 2022 Remove "owo"; at least temporarily. Only two true positives since 9 Jun, and a few FPs related to recent church attack. All-lowercase spelling can still appear in URLs. --Suffusion of Yellow 00:09 20 Jun 2022 Rename to "Memes and vandalism trends" after suggestion by [[User:0xDeadbeef]]; very few hits have anything to do with "yolo" or "swag". --Suffusion of Yellow 18:52 18 Jul 2022 +"\bs+h+ee+s+h+\b". Tested on 1014. Not a huge number of hits, so just remove this if it causes problems. --Suffusion of Yellow 23:06 21 Aug 2022 "\bl+m+a+o" -> "\bl+m+f*a+o". Change suggested by PhantomTech. Tested at 1014. Again, not a huge number of hits, so if there are too many FPs related to [[LMFAO]], just revert this. --Suffusion of Yellow 18:54 22 Aug 2022 +"l\s*bozo" --Ingenuity 17:14 15 June 2023 "(?<!\d|#)(?:69\D*420|420\D*69|(?:69\D{0,50}){3,})(?!\d)" --> "(?<!\d|#)(?:69\D{0,3}420|420\D{0,3}69|(?:69\D{0,3}){3,})(?!\d)" Former matches [[Special:AbuseLog/35407745]] too strictly, and lets be real, if 420, then 50+ characters show up in between, and then 69, we are likely not catching anything legit either way. --AmandaNP 04:22 Jun 29/2023 +"skibidi" and "gyatt" --Ingenuity 18:57 17 Nov 2023 +"Nick Turani", lots of band vandalism -- Firefly 2023-11-21 +"rizz" --Ingenuity 17:25 28 Nov 2023 "rizz" -> "\brizz" ("grizzy", "drizzle", etc.) --Suffusion of Yellow 04:13 2 Dec 2023 +"grinched/ing", used by Blue Barette Bam - added here rather than an LTA specific in an attempt to obfuscate -how- we're filtering this silliness, and the fact that it is a "vandalism meme" -- Firefly, 2023-12-18 +doxbin, another BBB thing. — FF, 2023-12-24 +Fix false positive regarding the surname "Rizzo" -- RTH 18:00, 26 December 2023 +\bslay{2,} --Ingenuity 3 Jan 2024 Add "\bgyat\b" per EFR request. "gyatt" is already there, but this spelling seems like it might be common. Only 19 hits in article space, so not tested in log-only filter first. --Suffusion of Yellow 22:40 15 Jan 2024 +"isn[o']tr(?:ae|ea)l" per [[Special:PermaLink/1203426813#Prevent Israel from being replaced with Isnotreal/Isnotrael]]. Zero mainspace hits so low risk. --Suffusion of Yellow 02:57 7 Feb 2024 + Skibidi toilet crap -- Ohnoitsjamie, March 26 2024 Merge most of 1124 (Among Us); meme has died back a bit and doesn't need its own filter. --Suffusion of Yellow 21:53 8 Apr 2024 Move "ligma" meme from filter 260. --Suffusion of Yellow 22:05 8 Apr 2024 rm terms that were moved to filter 1294. --Suffusion of Yellow 00:27 14 Apr 2024 +"is the goat", "what the sigma", tested in 1296 --Suffusion of Yellow 01:24 21 Apr 2024 Rm LTA terms. --Suffusion of Yellow 01:29 21 Apr 2024 +more "skibidi" variants, also "ohio sigma" and "sigma ohio". --Suffusion of Yellow 18:58 27 Apr 2024 rm 'sheesh'; about 50% FPs out of the last 2000 hits. --Suffusion of Yellow 03:41 28 Apr 2024 reduce FPs on "rizz" --Suffusion of Yellow 22:58 2 May 2024 clarify which gen this is for in name (maybe we could split this out? the filter is ten years old so we have e.g. yolo swag 420 blaze it stuff and skibidi rizz gyat sigma ohio stuff in the same regex which seems unholy) --JPxG 22:15 18 May 2024 rm one redundant "skibidi" check, slightly expand one other check. --Suffusion of Yellow 20:01 20 May 2024 Add Diddy-related referencing, severe ongoing vandalism per EFR request --EggRoll97 16:00 9 Oct 2024 Added some more brainrot terms (German stare, balkan breakfast, etc) --Ohnoitsjamie, 16 Oct 2024 + "thick of it, everybody knows" from a [[Thick of It (KSI song)]] --DatGuy 22:48 24 Nov 2024 Add "smartschoolboy9", EFR request. --EggRoll97 05:46 30 Nov 2024 Add "rizzmas", EFR request. --EggRoll97 02:40 28 Dec 2024 added "low taper fade" per a request at EFN --Novem Linguae 05:55 15 Jan 2025 Word-boundary for p diddy vandalism, EFFPR --EggRoll97 19:47 20 Jan 2025 Rm diddy, seems to have died down. --EggRoll97 04:33 14 Feb 2025 Split regex into multiple lines for better maintainability, match on smart quotes for apostrophes, use \s for spaces, other minor regex improvements. --Daniel Quinlan 15 February 2025 Sort the regex lines, update several expressions, and add several expressions. --Daniel Quinlan 16 February 2025 Update several expressions and add several expressions. --Daniel Quinlan 17 February 2025 Add keyboard smashing patterns, other minor updates. --Daniel Quinlan 19 February 2025 Removed "v{5,}" pattern for now (also happened to be the lowest hit rate keyboard smashing pattern). --Daniel Quinlan 19 February 2025 Updated and added several patterns, removed keyboard smashing patterns (moving them to filter 135). --Daniel Quinlan 19 February 2025 Split regex into case-sensitive and case-insensitive sections, update several patterns, add one pattern. --Daniel Quinlan 20 February 2025 Apply the filter to accounts with fewer than 50 edits or less than one week of age (instead of only to non-autoconfirmed users). --Daniel Quinlan 24 February 2025 Apply the filter to additional namespaces. --Daniel Quinlan 4 March 2025 Use more limited exception for page titles. --Daniel Quinlan 5-6 March 2025 Add notes on handling false positive reports, reduce false positives on "Roblox" and "baby oil". --Daniel Quinlan 7 March 2025 Reduce false positives on "IShowSpeed". --Daniel Quinlan 9 March 2025 Remove and update several expressions with poor statistics over the past year, add exception to deal with several false positves on "is gay" and "was gay". --Daniel Quinlan 9-10 March 2025 Avoid some exceptions when the user_name and page_title share a substring, don't exempt non-autoconfirmed users based on a meme in the article title when they are creating a draft, use broader regex for autoconfirmed user exception for sourced edits. --Daniel Quinlan 10 March 2025 Increased edit count threshold to 60 based on analyzing log data from the test filter. --Daniel Quinlan 27 March 2025 Exempt the reference desk based on a disallowed edit for containing "btw". Feel free to revert if needed, but this doesn't seem needed for the refdesk at the moment. --EggRoll97 10 April 2025 Add an exception for "btw" hits in Wikipedia space instead. --Daniel Quinlan 10 April 2025 Cleaned up first match exception logic, updated maintenance notes. --Daniel Quinlan 10 April 2025 Add "gyatt" variant with single t, but surround it by word boundaries to avoid FPs. - PharyngealImplosive7 July 14, 2025 Fix some false positives. --Daniel Quinlan 17 July 2025 Removed \bgyat\b which was already matched by another line, fixed several potential false positives on "gyat" words. --Daniel Quinlan 17 July 2025 Updated exception for removed text to reduce false negatives. --Daniel Quinlan 18 August 2025 Restructure first match exception conditions to avoid "too much recursion" error in debugger. --Daniel Quinlan 22 August 2025 General updates to patterns and exceptions. --Daniel Quinlan 21 February 2025 to 29 August 2025 Adding condition to top of filter so that edits to Wiki Ed pages do not trigger this filter. Edits by Wiki Ed instructors and students have triggered this filter and blocked their changes - both of which involve changes to their Wiki Ed course page. See false positive reports: Special:Permalink/1311400125#ProfLSC, Special:Permalink/1312303220#XingHaiLiu. --Oshwah 9/21/2025 Move exception to end of filter. --Daniel Quinlan 21 September 2025 Exception for DYK pages as per [[Special:AbuseLog/42426482]] -- PI7, 12 Oct 2025 Updated exceptions. --Daniel Quinlan 15 October 2025, 25 October 2025 Only apply one user_name regex to named accounts (was only used to disable some exceptions), move sourcing exception so we can use it to exempt specific matches. --Daniel Quinlan 7 November 2025 Improved template exceptions to reduce false positives. --Daniel Quinlan 20 November 2025
Flags:
Hide details of this filter from public view
Enable this filter
Mark as deleted
Filter last modified:
13:54, 22 December 2025
by
Theshittinator
(
talk
|
contribs
)
History:
View this filter's history
Tools:
Export this filter to another wiki
{"data":{"rules":"/*\r\n * False positive reports:\r\n * 1. For good edits from autoconfirmed users, consider suggesting they add a citation.\r\n * 2. If the addition can be rephrased to avoid the filter, suggest that approach.\r\n * 3. If the user account is close to 60 edits and 7 days in age, suggest retrying after\r\n * meeting those thresholds.\r\n * 4. Experienced users can \"seed\" a page by adding a comment like \"\u003C!-- Replace this\r\n * comment with your addition about 'blocked phrase'. --\u003E\".\r\n *\r\n * Maintenance notes:\r\n * 1. Remember to escape # and use \\s for whitespace.\r\n * 2. Exceptions to reduce false positives are located at the end of the filter.\r\n * 3. This command can be used to sort sections of the regex lines:\r\n * perl -ne '$r=qr/^(\\\\[bs]|\\W)+/;push@a,$_;END{print sort{$a=~s/$r//r cmp $b=~s/$r//r}@a}'\r\n * 4. Make sure every regex line other than the first line has a leading pipe, especially after sorting.\r\n * 5. Pure keyboard smashing is handled in filter 135.\r\n */\r\n!contains_any(user_groups, \"extendedconfirmed\", \"sysop\", \"bot\") \u0026\r\nequals_to_any(page_namespace, 0, 4, 10, 12, 14, 118) \u0026\r\n(user_editcount \u003C 60 | user_age \u003C 604800) \u0026\r\n(\r\n pattern := \"(?x)\r\n # case-sensitive\r\n \\b\u0d9e\\b\r\n |\\b67\\s*ohio\\b\r\n |\\b(?:BUM|bum)\\s+(?:BUM|bum)\\b\r\n |D+I+D+D+Y+\r\n |(?\u003C!\\=)\\b[Dd]id\\s*you\\s*know\\s*that\\b\r\n |\\b(?:GOAT|goat)(?:[Ee][Dd]|\\s+[Oo][Ff])\\b\r\n |\\b(?!Hello,?\\sMy\\sName\\b)\\b[Hh](?:[Ee]+[Ll]+[Oo]+|[Ii]+)\\W+[Mm][Yy]\\s[Nn][Aa][Mm][Ee]\\b\r\n |\\bHitIer\\b\r\n |\\b(?!LMFAO\\b|[Ll]mfao(?:[\\-/:]|\\s*[(|]))[Ll]+[Mm]+[Ff]*[Aa]+[Oo]+\\b\r\n |(?\u003C!\\bPhi\\s)(?\u003C!\\bSigma\\s)(?\u003C!\\x{005c})[Ss]igma(?!\\sSigma\\sSigma\\b)\\W{0,3}[Ss]igma(?!/|\\.org\\b|\\W+(?:Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega)\\b|\\W+(?:[Cc]hapter|[Cc]ommons|[Ee]stablished|[Ff]ounded|[Hh]onorary|[Nn]ational|[Ss]isters)\\b)\r\n |\\bS+I+G+M+A+\\w*\\b\r\n |TOILET\r\n |\\bTUFF+\\b\r\n |(?\u003C![\\\"\\+\\-\\.\\/])\\bdiddy\\b(?![\\#\\\u0026\\-\\.\\/\\|])\r\n |\\blabubu\\b\r\n |\\blowk\\b\r\n |(?\u003C=\\s)\\bppl\\b(?=\\s)\r\n |(?\u003C![\\\"\\-\\/\\|])\\broblox\\b(?![\\-\\/]|[^\\[\\]]*?\\]\\]|\\\"\\s*\\/?\u003E|\\.\\w)\r\n |\\btung\\s*tung\r\n |\\bur\\s+(?:face|mouth|self)\\b\r\n |(?\u003C!\\=\\s)(?\u003C![\\x{0022}\\x{0027}\\=\\[\\|])\\b(?:IF|If|if)\\s(?:YO|yo)?[Uu][\\s\\x{0027}Aa\\x{2019}]{0,2}(?:RE?|re?)\\s(?:READ|read)\\w*\\s(?:THIS|this)\\b(?![\\x{0022}\\x{0027}\\]\\|])\r\n # case-insensitive\r\n |(?#DO NOT MOVE THIS LINE)(?i)\r\n 420\\s*b+l+a+z+e+\\s*i+t+\r\n |\\b2067(?:\\s*\\|\\}\\})\r\n |\\b(?:420|69)+\\s+(?:april|august|countries|december|february|january|july|june|march|may|november|october|overall|september|trillion)\\b\r\n |(?:6+\\W*7+|six(?:ty)?[\\s-]seven)\\W*(?:(?:6+\\W*7+\\W*){3}|bo[iy]+s?\\b|brain.?rot|chicken|gang|joke|kid|mango|mason|meme|mustard|s+i+x+t*y*\\W*s+e+v+e+n+|sigma)\r\n |\\b67(?:\\s+67\\s+|67)67\\b(?\u003C!\\#676767)(?\u003C!\\bhex=676767)\r\n |\\b67\\W41\\b\r\n |\\b(?\u003C![/-])69\\.69(?![/-])\\b\r\n |\\b69ers?\\b\r\n |(?:\\=(?\u003C!\\S\\=)|\\b(?:as|of|the))\\W*diddy\\b(?!(?:\\x{0027}s)?[\\s-]kong\\b)\r\n |(?=a+h|h+a)[ah]{7,}(?![\\w\\-]*\\\u0026[\\w\\-]+=)\r\n |(?:\\ba\\b|name\\s*=)\\s*sigma(?![\\s\\-_]+(?:[\\d-]+mm|\\d+|algebra|alpha|baryon|beta|bond\\w*|chi|complex|coordinate\\w*|delta|epsilon|eta|factor|force|gamma|hole|iota|kappa|lambda|ligand|mu|nu|omega|omicron|phase|phi|pi|psi|rho|sigma|tau|theta|upsilon|xi|zeta)\\b)\r\n |absolute\\s*unit\r\n |amo+u?n*g\\w?[\\s_]*us(?:\\w?|s*)\\b(?\u003C!\\bamong\\sus)\r\n |among\\W+us\\b.{0,20}\\b(?:among\\W+us|game|impost[eo]r|ohio|sus\\b)\r\n |\\b(?!analogs|catalog|catalogue|chapter|control|creation|directory|founder|history|involvement|members?|organ|president|recipient|role|society|version)\\w+\\s*of\\s*the\\s*sigmas?\\b\r\n |\\banti\\s*spirals?\\b\r\n |\\b(?:april|august|born|december|february|january|july|june|level|march|may|november|october|(?\u003C!\\bawards\\s)on|september)[\\s,]+(?:(?:69)+|2069|2099|420|42069|69420)\\b\r\n |\\b(?:are|bitch|fuck|gay|hoe|is|moms|random|shit|shitty|so|stupid|suck|they|ugly|ur)\\s*ass\\b\r\n |\\b(?:are|is|not|really|so|the|was)\\s+tu+f+\\b\r\n |(?\u003C!\\bas\\s)\\bstinky\\b(?!\\W*(?:bean|cheese|davis|pete|tofu|toys|the\\sskunk)\\b|\\s\\\u0026\\sdirty\\sshow\\b)\r\n |\\baura(?:\\s*max|\\s+(?:count|farm\\w*|like|points)\\b)\r\n |aviation\\s*,.{0,80}?there\\s*is\\s*no.{0,80}?bee.{0,80}?be\\s*able\\s*to\\s*fly\r\n |(?:awk|h(?:a+[uw]+|o+)[chk]{1,2})(?:\\w*(?=\\W+tuah)|e[ds]?|i?ng?|s)?(?:\\W+|\\w)?(?:2|tw*[ou]+)(?:(?\u003C=u)a|\\s?a+h+|a+\\w?\\b)\r\n |\\bayyy+\r\n |(?:\\b(?:a|likes?|loves?|no|oil|to)\\b|\\bp(?![\\s.]diddy\\W+song\\b|\\.\\sdiddy))\\W*diddy\\b\r\n |\\bb(?:om|u)bocl[ao]t\r\n |b+o+iii+\r\n |b+r+[\\W_]+b+r+[\\W_]+[bp]+a+t+a+[bp]+i+m\r\n |\\bbaby\\W?oil\r\n |baby\\s*gronk\r\n |\\b(?:bad|bo[iy]|in\\sthe|little|my|ski)\\s*[bp]?uss(?:ies|y)\\b\r\n |balkan\\s+(?:breakfast|parents|rage)\r\n |\\bballsack\\b\r\n |\\bbananini\\b\r\n |\\b(?:big|boring|dat\\b|dumb|gay|go+f+y+|looking|stupid|v[aei]+n[iy]|zesty)\\W*(?:[ah]{3,}\\w*|a+h+)\\b\r\n |(?\u003C!\\bblack\\s)\\byearn\\w*\\s+for\\s+the\\s+mine\\w*\\b\r\n |\\bbluds?\\b\r\n |\\bbombardiro\\b\r\n |\\bboobs\\b\r\n |(?:\\bboy|\\bis|\\bis\\s+a|\\bnot|\\bso+|idi|ohio|toilet|very|what\\s+the)\\s*sigma(?![\\s\\-_]+(?:[\\d-]+mm|algebra|baryon|bond\\w*|chi|complex|coordinate\\w*|delta|epsilon|eta|factor|force|gamma|hole|iota|kappa|lambda|ligand|mu|nu|omega|omicron|phi|pi|psi|rho|tau|theta|upsilon|xi|zeta)\\b)\r\n |\\b[bp]ata[bp]i[nm]\r\n |\\bbr(?![ao]h\\b)(?:[aou]+[hv]+|ooo+)\\b\r\n |\\bbrain[\\W_]*rot\\w*\\b\r\n |\\b(?:bro|bru|(?\u003C!\\x{005c})cap|fr|gng|gurt|icl|idk|istg|js|lwk|ngl|ong|pmo|rn|sm|smh|sybau|tbh|ts|tuf+|u|vro|yall|yo)\\s+(?:bro|bru|cap|fr(?![\\x{0022}\\x{0027}\\x{005d}\\x{007c}])|gng|gurt|icl|idk|istg|js|lwk|ngl|ong|pmo|rn|sm|smh|sybau|tbh|ts(?=\\s[a-z])|tuf+|u|vro|yall|yo)\\b(?\u003C!\\bong\\song)(?\u003C!\\bsm\\su)(?\u003C!\\bu\\su)(?\u003C!\\byo\\syo)\r\n |(?\u003C![\\\"\\/\\=\\|])\\bbtw\\b(?!.{0,160}\\b(?:\\w+weight\\b|champion|championship|tag.team|wrestling)\\b|[\\\"\\-\\/]|[^\\[\\]]*?\\]\\]|\\.\\w)\r\n |bush\\s*did\\s*9.?11\r\n |\\bbussin\\b\r\n |\\b(?!(?:b|d|nch|ns|t)ibb?idd?[iy]\\b)(?:[bdiklnqrsty]|\\ba|ch|s\\w){1,5}i+b+i+d+[iy]+\\b\r\n |(?\u003C![\\-\\:])\\bcaca\\b(?![\\)\\-\\.\\|])\r\n |\\bcappuccina\\b\r\n |\\bcaseohs?\\b\r\n |chicken[\\W_]*(?:f[u\\*]?[c\\*]k|j+o+c+k+(?:e*y+|i+e+)s*\\b|s+t+a+r+[sz]+)\r\n |\\b(?:children|height|name)\\s*=\\s*67\\b\r\n |\\bchimpanzini\\b\r\n |\\bching\\s*chong\\b\r\n |\\b(?:(?!christian\\b)ch?ristiano?|goat|messi|ron[adlo]{3,})(?:[\\x{0027}\\x{2019}]?s)?\\b.{0,20}\\bs+(?:i+u+|u+i+)\\b\r\n |chung[uea]s\\b\r\n |\\bcrocodilo\\b\r\n |\\bd+ee+z+\\b\r\n |\\bd+i+h+\\b(?\u003C!\\bdiih\\b)\r\n |(?\u003C!\\=)\\b(?:\\d99+|\\d*0+|\\d{8,}|[bm]illion|gain\\w*|infinit[ey]|max\\w*|most|much|trillion|zero)\\s+aura\\b\r\n |dQw4w9WgXcQ\r\n |(?\u003C![\\#\\d])(?:69(?:\\D{0,5}|\\s+(?:\\w+\\s+){0,5})420|420(?:\\D{0,5}|\\s+(?:\\w+\\s+){0,5})69|(?:69\\D{0,5}){3,})(?!\\d)\r\n |dank\\s*meme\r\n |\\bdelulu\\b\r\n |(?:dems?|them[\\x{0027}\\x{2019}]?s?|those\\s+are)[\\x{0027}\\x{2019}]?\\s+(?:da|th[ea])\\s+fa(?:cts|x)\r\n |\\bdic?k[aei]+p[aei]+d\\w*\\b\r\n |\\bdiddler\\b\r\n |\\bdiddy(?:[\\x{0027}\\x{2019}]?s)?\\W*(?:.{0,80}\\b(?:(?:any|no)thing?\\W*wrong|baby\\s*oil|freak.?offs?)|academy|ah+\\w*|blud\\w*|combs|did\\w*\\W+did\\w*|diddy|drake|for|freaky?|free|gif|high|house|i|is|jpg|oil|parties|partys?|png|school|studios|volumes|was)\\b\r\n |\\bdiddys\\b\r\n |\\bdo[mp]\\s+(?:do[mp]|yes)\\b\r\n |\\bdrippy\\b\r\n |\\bdrizzler\\b\r\n |drumpf\r\n |(?\u003C!\\b(?:du|le)\\s)(?\u003C!\\bancien\\s)(?\u003C!\\bcryptographic\\s)(?\u003C!\\bnouveau\\s)(?\u003C!\\|)\\bnonce\\b(?!\\=|.{0,160}\\bsecurity\\b|\\W+(?:a|apostolique|based|code|en|forms|in|n|nonces?|orders|paolini|reuse|title|to|values?|words?)\\b)\r\n |(?:d|th)[3e]+[sz]+[3e]*\\s*n+u+t+[$sz]\r\n |(?=e+h|h+e)[eh]{6,}\r\n |\\b(?:eat|kiss|lick|smack|smell|stick|suck)\\w*\\s+my\\s+(?:arse|ass|ball|big|bog|butt|cock|cum|dic?k|fucking|meat|nut|penis|pp|schlong|shorts|tits|weiner)[sz]?\\b\r\n |\\benchantment\\s+upon\\s+her\\s+of\\s+a\\s+fearful\\s+sort\\b\r\n |epst(?:ein(?!\\W*files)|ien)\\W*(?:did\\W*n.?t\\W*kill|files|island)\r\n |\\berm\\s*what\\b\r\n |f\\s*r\\s*e\\s*e\\s*d\\s*i\\s*d\\s*d\\s*y\r\n |\\bfart(?:ed|y)\\b\r\n |\\b(?:fart|pee+|poo+p?)s?[\\s-]*(?:fart|pee+|poo+p?)s?\\b\r\n |\\bfem\\W?bo[iy]s?\\b\r\n |fetus\\s*deletus\r\n |\\bflint\\s+and\\s+steel\r\n |\\bfrfr\\b\r\n |\\bfun\\sfact\\b\r\n |(?:f|ph)[au]nt?[ou][mn]\\W*tax\r\n |\\bg+a+yy(?:y|\\b)\r\n |\\bg+y+a+t(?!(?:a|ei|ermes|huk|og|rul\\w*|sha|sho|so|so[\\da-mo-z_]\\w*)\\b)\\w*\r\n |german\\s+stare\r\n |\\b(?:gig+a|meg+a+)\\W*chad\\w*\\b\r\n |\\bgoon(?:\\s+to|bender|ed|er(?!athne|atna|atne)\\w*|ing)\\b\r\n |\\bgriddy\\b\r\n |\\bgrimace\\W*shak\\w*\\b\r\n |gucci\\s*gang[\\s,]*gucci\\s*gang\r\n |\\bgurt[\\W_]+yo\\b\r\n |gyatt\r\n |\\bh+iii+\r\n |\\bha(?:ile|le|lie)y\\W?welch\\b\r\n |\\b(?:he[\\x{0027}\\x{2019}]?s|is|lebron|messi|you[\\x{0027}\\x{2019}]?re|you\\s+are)(?:\\s+not)?\\s+(?:da|my|the)\\s+g\\.?o\\.?a\\.?t\\.?\r\n |hit\\s*or\\s*miss[\\s,]*I\\s*guess\r\n |hitler\\b.{0,40}\\b(?:any|no)thing?\\W*wrong\r\n |\\bhuzz+\\b\r\n |\\s*i\\s*n\\s*t\\s*h\\s*[ae]\\s*p\\s*(?:(?:[@uv*]\\s*)+(?:[zs\\$*]\\s*)+|[zs\\$*]{2,})\\s*a*y+\r\n |\\bi\\s+am\\s+steve\\b\r\n |\\bidk\\b(?!\\=[\\w-])\r\n |impost[eo]rs?\\b.{0,20}\\b(?:among\\sus|sus\\b)\r\n |\\bis\\s+the\\s+g\\.?o\\.?a\\.?t(?:\\.|\\b)\r\n |ishowspeed\r\n |isn[o\\x{0027}\\x{2019}]tr(?:ae|ea)l\r\n |\\b(?:is|was)\\s+gay\\b\r\n |jamaican\\s+smil(?:er?s?|ing)\r\n |jeff(?:er|re)y\\W*epst(?:ei|ie)n(?\u003C!jeffrey\\Wepstein)\r\n |joe\\s+m[oa]m+a\r\n |\\bjohn[\\W_]*pork\\b\r\n |(?\u003C!koe\\s)\\by+ee+t+(?:e+(?:r+|d+))?\\b\r\n |l+[aeiou]+l+[aeiou]+l+[aeiou]+l+[aeiou]+l\r\n |l+o+(?:w*|w\\w*)\\s*t+a+p+e+r+\\s*(?:f+a+y*d+e*|l+o+w+)\r\n |l+o+l+o+l+o+\r\n |\\blava[\\W_]*chicken\r\n |\\bligma\\b\r\n |(?:like|mangoe?|mason|mustard|sigma|stars|toilet|tuff+)s?[\\s-]*(?:6+\\W*7+|six(?:ty)?[\\s-]seven)\r\n |\\bliril[i\u00ec](?:\\b|.?laril[a\u00e0])\r\n |looksmax\r\n |\\b(?:love|my|your)\\W*(?:fortnite|minecraft|roblox)\\b\r\n |\\b(?:l|rip)\\s*bozo\\b\r\n |mango(?:e?s)?\\W*(?:mango|mustard|phonk)\r\n |\\bmeww?(?:e[dr]|ing(?!.{0,80)\\b(?:alarm|call|noise|note|sound)s?\\b)\\b\r\n |\\bmog(?:ge[dr]s?|ging)\\b\r\n |\\bmy\\sball[sz]\\b\r\n |never.?gonna.?(?:give.?you.?up|let.?you.?down)\r\n |\\bnibb+a+\\b\r\n |nick\\s*turani\r\n |\\bnoob(?:ini)?s?\\b\r\n |\\bo+h+i+o+\\b(?\u003C!\\bohio)\r\n |\\bo+w+o+(?!\\b.{0,16}\\bsoup)(?:(?:w+o+)+w*)?\\b\r\n |\\bohio\\b\\W*\\b(?:boss|canada|cuz|final|grimace|india|province|sigma|swag|toilet)\\b\r\n |\\boi\\s+(?:b+a+k+a+|oi)\\b\r\n |\\boil(?:ed|ing)?\\s+up\\b\r\n |ok(?:ay)?,?\\s+boomer\r\n |\\booo+f+\\b\r\n |(?\u003C!\\=)(?\u003C!page/)\\b67\\s+67\\b\r\n |\\bpoggers?\\b\r\n |\\bpookie\\b\r\n |\\bpoopy\\b\r\n |\\bquandale(?:ding\\w*)?\\b\r\n |\\br+e{6,}\r\n |\\br+i+z+(?:\\w*\\b.{0,40}\\bhuzz\\b|ful|l[ey]|mas|y|z\\b|ze[drs]|zing)\r\n |\\b(?:ranboo|tubbo)\r\n |rawr\\s*xd\r\n |\\#redirect\\s*\\[\\[donald[\\s_]trump\\]\\]\r\n |\\broblox\\b[\\s,\\w]{0,30}\\b(?:add|mom|my|name)\\b\r\n |\\brobux\\b\r\n |\\bs(?:u+i{3,}|i+u{3,})\\b\r\n |\\bs+i+g+m+a+s*\\b(?\u003C!\\bsigma)\r\n |\\bs+i+x+[\\s-]*s+e+v+e+n+\\b(?s?\\b)\r\n |s+i+x+t*y*\\W{0,3}s+e+v+e+n+(?\u003C!\\bsix\\W\\W\\Wseven)(?\u003C!\\bsix\\W\\Wseven)(?\u003C!\\bsix\\Wseven)(?\u003C!\\bsixty\\Wseven)\r\n |s+k+(?:[1bdipt]{4,}y*\\b(?\u003C!skip\\w\\w)|[iy]+[bdpt]+[iy]+[bdpt]+[iy]+|b+i+d+i+|i+b+d+i+|i+b+i+(?:[bdpt]|\\b))\r\n |\\bs+us+us+\\b\r\n |\\bsdiybt\\b\r\n |\\[\\[(?!sean\\scombs\\|)[^\\]]*diddy(?!(?:\\x{0027}s)?\\skong\\b|\\ssong\\b)\r\n |\\bsevennn+\\b\r\n |\\bshee(?!sh(?:[\\s\\-]?mahal|\\sram)\\b)e*sh\\b\r\n |sigma\\W*(?:aura|ball|birth_name|bo[iy]|chad|description|erm\\b|fanum|freak|giga|grind|high|land|low|male|mew\\w*|ohio|people|person|pomni|riz+|school|sk[bdity]{3,}|toilet|town|what)\r\n |\\bsii+x\\b\r\n |\\bslayy+s*\\b\r\n |smartschoolboy9\r\n |\\bsmell(?:ed|s)\\s+like\\s+rotten(?!\\s+(?:eggs|fish|meat))\r\n |\\b(?:sp[ai]t|tuah)\\w*\\s+on\\s+(?:d|th)at\\s+th[ia]ng\\b\r\n |sub(?:scrib(?:e[ds]?|ing))?\\s*(?:2|to)\\s*(?:p(?:ew|oo|ud|ue|uw)|te*.?series)\r\n |\\bsugma\\b\r\n |\\bsussy\\b\r\n |sw[4ae]g\\s*(?:yolo|daddy|money|lord|master)\r\n |\\#(?:sw[4ae]g|yolo)\r\n |\\bsybau\\b\r\n |\\bt(?!rail|relill\\b|rial|rill)t*r+[aeiou]+l(?:[aeiou]+l|ll)\r\n |\\bt+\\s*h+\\s*i+\\s*c\\s*c\r\n |t[aeiouy]+[mn]+g*[\\s,\\-.\\x{2000}-\\x{206f}]*t[aeiouy]+[mn]+g*[\\s,\\-.\\x{2000}-\\x{206f}]*sh?[au]+h+[aeou]+r\r\n |t[ou]ng[^\\w\\|]*(?:sh?[au]{0,2}h(?:[ae]|au|o+|u+)?r|t[ou]ng[^\\w\\|]*(?:sh?[au]{0,2}h(?:[ae]|au|o+|u+)?r|t[ou]ng))\r\n |\\bthe\\s+nether\\b(?!\\sworld)\r\n |thick\\s+of\\s+it,?\\s*everybody\r\n |\\btim[\\W_]*cheese\\b\r\n |\\btoilet\\W*ohio\\b\r\n |\\btu+fff*\\W?(?:alpha|b+o+i+|bro|est|f+|guy|kid|man|mango\\w*|phonk)s?\\b\r\n |\\bu+w+u+\\b\r\n |u+w+u+w+u+\r\n |ugandan\\s*knuckles\r\n |[ui]s\\s+sus\\b\r\n |\\bur\\s+(?:annoying|anus|bad|dad|dongers|dumb|gay|going|lucky|m[ao]m+a|m[ou]ms?|more|mother|reading|sigma|stupid|trash)\\b\r\n |\\b(?:(?:u|ya?|yo?u)\\W*know|[uy]k)\\s*what\\s*else\\s*is\\b\r\n |\\bw+o+m+p+(?:\\W*w+o+m+p+|\\b(?![\\#\\-\\.\\/]))\r\n |whopper.{0,2}whopper\r\n |(?\u003C!\\x47)\\bvro\\b\r\n |\\by+o+l+o[lo]+\r\n |y\\s*o\\s*[lo\\s]+s\\s*w\\s*[4ae]+\\s*g+\r\n |\\byall+\\b\r\n |\\byo[\\s:]+(?:bro|chest|forehead|gurts?|its|jaw[sz]|know|m[ou]ms?|mouf|mouth|tail|this|you)\\b\r\n |\\byooo+\\b\r\n |\\byou(?:[\\x{0027}\\x{2019}]?re?|\\s+are)\\s+(?:gay|so+\\s(?:damn|dumb|fuck\\w*|full|gay|goddamn|so+|stupid|ugly))\\b\r\n |\\byour\\s+(?:butt|dick|gay)\\b\r\n \";\r\n added_lines rlike pattern \u0026\r\n /* excluded pages */\r\n !equals_to_any(page_id, 11022716, 16283969, 26204397, 43618504) \u0026\r\n /* exceptions for Template and Wikipedia space */\r\n !(equals_to_any(page_namespace, 4, 10) \u0026\r\n (\r\n added_lines rlike \"~~~~\" |\r\n page_prefixedtitle rlike \"^Template:Did you know nominations(?:/|$)\" |\r\n page_prefixedtitle rlike \"^Wikipedia:Sockpuppet investigations(?:/|$)\" |\r\n page_prefixedtitle rlike \"^(?:Template:(?:Template sandbox|X(?:[1-9]|1\\d|20))|Wikipedia:Sandbox)$\" |\r\n (\r\n page_prefixedtitle == \"Wikipedia:Articles for creation/Redirects\" \u0026\r\n (\"autoconfirmed\" in user_groups | added_lines rlike \"\\[\\[(?!Example[12]\\]\\])[^\\]]+\\]\\]|(?i)\\b(?:btw|idk)\\b\")\r\n )\r\n )\r\n ) \u0026\r\n /* exceptions for autoconfirmed users */\r\n !(\"autoconfirmed\" in user_groups \u0026\r\n (\r\n (added_lines rlike \"\\b(?:[Hh]awk[\\s-]?[Tt]uah|[Hh]aliey[\\s-]?[Ww]elch|spit\\son\\sthat\\sthang)\\b\" \u0026 equals_to_any(page_id, 55675861, 77275561, 77389801, 77962982, 78559650)) |\r\n (added_lines irlike \"\\bsigma(?:\\W*sigma\\b|s\\b)\" \u0026 page_title irlike \"\\b(?:college|fraternit[eisy]+|panhellenic|sigma|sororit[eisy]+|university)\\b\")\r\n )\r\n ) \u0026\r\n /* first match exceptions if user_name looks okay */\r\n !(!(user_type == \"named\" \u0026 user_name rlike pattern) \u0026\r\n (\r\n added_matches := get_matches(pattern, added_lines);\r\n added_match := length(added_matches) \u003E 0 ? added_matches[0] : \"_NONE_\";\r\n removed_matches := get_matches(pattern, removed_lines);\r\n removed_match := length(removed_matches) \u003E 0 ? removed_matches[0] : \"_NONE_\";\r\n /* break down normalization steps to avoid \"too much recursion\" error in debugger */\r\n lcase_added := lcase(added_match);\r\n lcase_removed := lcase(removed_match);\r\n norm_added_match := str_replace(lcase_added, \"-\", \" \");\r\n norm_removed_match := str_replace(lcase_removed, \"-\", \" \");\r\n /* first match is same as first match in removed text */\r\n (norm_added_match == norm_removed_match) |\r\n /* no additional restrictions */\r\n (added_match == \"DIH\" \u0026 new_wikitext rlike \"\\b(?:Banks DIH|D[a-z]+ I[a-z]+ H[a-z]+)\\b\") |\r\n (added_match == \"Dih\" \u0026 added_lines rlike \"\\b[A-Z][a-z]+ Dih\\b|\\bDih\\W+(?:Bhojpur|Raebareli)\\b\" \u0026 !(added_lines irlike \"\\bdih\\W+(?:cheese|on|to)\\b|\\b(?:a|ah+|as|big|dih|has|have|his|likes?|massive|my|small|taking|this|veiny|vieny|your)\\W+dih\\b\") \u0026 new_wikitext irlike \"\\b(?:bihar|jagran|jharkhand|madhubani|mahottari|maithili|mishra|mithila|sanskrit|uttar pradesh|vidyapati)\\b\") |\r\n (added_match == \"dih\" \u0026 added_lines rlike \"\\bmod\\.go\\.jp/dih\\b\") |\r\n (added_match == \"uwu\" \u0026 added_lines rlike \"\\b(?:publico\\.es/uwu|uwu\\.ac\\.lk)\\b\") |\r\n (added_match irlike \"\\b\\w{2,9}[\\s,]+(?:2069|2099|420|69)\\b\" \u0026 old_wikitext irlike \"\\b(?:april|august|born|december|february|january|july|june|level|march|may|november|october|on|september)[\\s,]+(?:2069|2099|420|69)\\b\") |\r\n (added_match irlike \"\\bowo\\b\" \u0026 new_wikitext irlike \"\\b(?:akoko|ekiti|ekpo|enugu|ghana\\w*|ibadan|ife|igogo|ijebu|ile|kwate|lagos|nigeria\\w*|nii|nkanu|nollywood|nta|oba|ogun|ogunoye|ojomo|oke|olagbegi|olowo|ondo|ose|yorub[ao]\\w*)\\b\") |\r\n (added_match irlike \"\\broblox\\b\" \u0026 user_type == \"named\" \u0026 old_wikitext irlike \"\\broblox\\b\") |\r\n (added_match irlike \"^(?:btw|idk)$\" \u0026 user_type == \"named\" \u0026 added_lines irlike \"\u003C!--[^\u003E]{0,80}?\\b(?:btw|idk)\\b\") |\r\n (added_match irlike \"^btw$\" \u0026 equals_to_any(page_namespace, 4, 118)) |\r\n (added_match irlike \"^gyat\" \u0026 old_wikitext irlike \"\\btibet(?:ans?|ic)?\\b\") |\r\n (added_match irlike \"^sheesh$\" \u0026 new_wikitext irlike \"\\bbabymonster\\b\") |\r\n (added_match irlike \"^six[\\s-]seven$\" \u0026 (old_wikitext irlike \"\\bsix[\\s-]seven\\b\" | added_lines irlike \"\\b(?:eight|five|four|last|least|nine|one|pick|seasons?|seven|six|three|two)[\\s-]six[\\s-]seven\\b\")) |\r\n (added_match irlike \"^stinky$\" \u0026 (added_lines irlike \"(?\u003C!\\x27)\\x27stinky\\x27(?!\\x27)|\\x22stinky\\x22\" | old_wikitext irlike \"\\bstinky\\b\")) |\r\n (added_match irlike \"^susus$\" \u0026 old_wikitext irlike \"\\bsusu\\b\") |\r\n (added_match irlike \"^ur not$\" \u0026 added_lines irlike \"f[*u][*c][*k] u skrillex\") |\r\n (added_match rlike \"[Ss]igmas\" \u0026 old_wikitext irlike \"\\b[Ss]igmas\\b\") |\r\n (added_match rlike \"^(?:42069|69420)$\" \u0026 added_lines irlike \"https://\\S*(?:(?:\\.|\\b[\\da-f]+)(?:42069|69420)[\\da-f]*\\b|\\b[\\da-f]*(?:42069|69420)[\\da-f]+\\b)\") |\r\n (added_match rlike \"^You(?: A|\\x27)re (Gay|So)\\b\" \u0026 user_type == \"named\") |\r\n (added_match rlike \"^Your (?:Butt|Dick|Gay)$\" \u0026 user_type == \"named\" \u0026 added_lines rlike \"\\bYour (?:Butt|Dick|Gay)\\b (\\w+ )?[A-Z][a-z]+\\b\") |\r\n /* template exceptions */\r\n (\r\n pattern_limited := \"\\b(?:boobs|bruv|did you know that|fun fact|hehehe|idk|is gay|is the goat|lmao|nonce|pookie|sheesh|sigma|was gay|yall|yooo)\\b\";\r\n sourcing := \"\\{\\{[Cc]ite\\b|(?i)\u003Cref(?:\\s[^\u003E]*?)?/?\u003E(?!\\s*\u003C/ref\u003E)\";\r\n sourcing_increase := rcount(sourcing, added_lines) \u003E rcount(sourcing, removed_lines);\r\n match_limited := added_match irlike (\"^\" + pattern_limited + \"$\");\r\n match_limited_many := added_lines irlike (\"(?:\" + rescape(added_match) + \".{0,64}){3}\");\r\n /* limited risk matches inside of quotations */\r\n (\r\n edit_delta \u003E= 160 \u0026 edit_delta \u003C= 16384 \u0026\r\n match_limited \u0026 !match_limited_many \u0026\r\n added_lines irlike (\"\\{\\{(?:blockquote|quotation|quote)\\b[^\\}]*?\" + rescape(added_match) + \"[^\\}]*?\\}\\}\")\r\n ) |\r\n /* source additions */\r\n (\r\n edit_delta \u003E= 160 \u0026\r\n sourcing_increase \u0026\r\n (\r\n \"autoconfirmed\" in user_groups |\r\n (\r\n match_limited \u0026 !match_limited_many \u0026\r\n (\r\n added_lines irlike (\"\\{\\{cite\\b[^\\}]*?\" + rescape(added_match) + \"[^\\}]*?\\}\\}\") |\r\n added_lines irlike (\"\u003Cref[^/\u003E]*\u003E[^\u003C]*?\" + rescape(added_match) + \"[^\u003C]*?\u003C/ref\u003E\")\r\n )\r\n )\r\n )\r\n )\r\n ) |\r\n /* restricted to autoconfirmed users and drafts */\r\n ((\"autoconfirmed\" in user_groups | page_namespace == 118) \u0026\r\n (\r\n /* match in page title */\r\n (lcase(page_title) contains lcase(added_match) \u0026 !(page_age == 0 \u0026 !\"autoconfirmed\" in user_groups)) |\r\n /* other marginal matches */\r\n (contains_any(added_match, \"IShowSpeed\", \"Roblox\")) |\r\n (added_match == \"baby oil\" \u0026 !(added_lines irlike \"\\b(?:combs|diddy|freak\\w*|of baby oil)\\b\")) |\r\n (added_match irlike \"^skiibii$\") |\r\n (added_match irlike \"^skipitis?$\" \u0026 new_wikitext irlike \"\\bskipitis\\b\") |\r\n (added_match rlike \"^(?:WOMP|Womp|womp)$\") |\r\n (added_match rlike \"\\b(?:is|was) gay\\b\" \u0026 added_lines irlike \"\\b(?:he|who) (?:is|was) gay\\b\") |\r\n (added_match rlike \"^[Bb]rain[\\s\\-][Rr]ot$\") |\r\n (added_match rlike \"^\\W*Among Us\\b\")\r\n )\r\n )\r\n )\r\n ) \u0026\r\n /* Wiki Ed exception */\r\n !(\r\n user_type == \"named\" \u0026\r\n page_prefixedtitle rlike \"^Wikipedia:Wiki Ed/\"\r\n )\r\n)","name":"Memes and vandalism trends (moomer slang + zoomer slang)","comments":"Regex unit tests at: https://regex101.com/r/YZTMl4/24\r\n\r\nA fairly comprehensive filter for \"yolo\", \"swag\", \"420 blaze it\", \"fuck her right in the pussy\", \"troll\" and combinations thereof. \"Yolo\", \"swag\" (or \"swagger\"), and \"troll\" by themselves are not filtered. There was a filter similar to this a while back that apparently got deleted. I see this vandalism an awful lot, so thought I'd put this regex into a test phase -MusikAnimal\r\n\r\ntrigger warning and tag -MusikAnimal\r\n\r\nvery few false positives, disallowing -MusikAnimal 2014.07.17\r\n\r\nAdd filter for \"swag daddy\" and \"sweg\" instead of \"swag\" to match new trends, go back to warn/tag temporarily -MusikAnimal 2014.08.27\r\n\r\nBack to disallow -MusikAnimal 2014.08.28\r\n\r\nincrease edit delta to 1000 ~MusikAnimal 2014.09.03\r\n\r\nadd 420 blaze it, tag only ~MusikAnimal 2014.09.10\r\nand back to disallow ~MusikAnimal 2014.09.11\r\n\r\nremove edit delta restriction ~MusikAnimal 2014.09.12\r\n\r\nadding \"fuck her right in the pussy\", a new trend ~MusikAnimal 2014.09.23\r\n\r\nadding vandalistic forms of \"troll\" (trololol, trolllll, etc) ~MusikAnimal 2014.10.13\r\n\r\nFix some false positives ~MA 2014.10.29\r\n\r\nOptimize for conditions, replace [l\\s*o\\s*] with [ol\\s] (though something else might be meant), optimize some of the regex, add !removed_lines irlike.\r\n\r\nrestore original regex, please use debuggex to test changes; filter runs very fast as-is ~MA 2015.07.08\r\n\r\nMoved regex into conditons. If this is compiled when the definition is hit, this will save processing time. Otherwise no harm is done. RF 2015-07-14\r\n\r\n+chicken fucker from filter 689 ~MA\r\n+thems the facts from filter 675 ~MA\r\n\r\nNote \"y\\s*o\\s*[lo\\s*]+s\\s*w\\s*[4ae]+\\s*g|y+o+l+o[lo]|s+w+[4ae]+gg[g]|#yolo|#sw[4ae]g|sw[4ae]g\\s*(?:yolo|daddy|money|lord|master)|420\\s*b+l+a+z+e+\\s*i+t|\\s*i\\s*n\\s*t\\s*h\\s*[ae]\\s*p\\s*(?:(?:[@uv*]\\s*)+(?:[zs$*]\\s*)+|[zs$*]{2,})\\s*a*y|t+r+o+l(?:o+l+|ll+)|lolo(?:lo)|(?:d[3e](?:[3e]+[sz]+|[sz][sz]*)e?|th[3e][zs$][3e])\\s*nu+t[zs$]|(?:f[u\\*][c\\*]k(?:ing?|ed|s)|sex\\s*with?)\\s*chickens?|chicken\\s*f[u\\*]?[c\\*]k(?:er|s|ing)?|(?:them\\'?s?|dems?|those\\s+are)'?\\s+(?:th[ea]|da)\\s+fa(?:cts?|x)!?\"\r\n\r\nis shorter and matches faster:- checks out on debuggex. RF\r\n\r\nFP for \"Deez Nuts (band)\" - lets assume that if there's no link to the article it's not legit, at least for now. RF\r\n\r\n+\"dank meme\" per [[Special:Permalink/761029363#Dank Memes]], removing check for \"Deez Nuts (band)\" for now since it is semi'd ~MA 2016.01.20\r\n\r\nExempt everything that contains yolo or swag already. - KoH 20170122\r\n\r\nAdding `+ \"|yolo|swag\"` apparently broke the filter, but checking against abuseStr by itself should handle the vast majority of false positives ~MA 2017.01.26\r\n\r\n+\"subscribe to pewdiepie\" and similar -Galobtter 2019.01.01\r\n\r\n+transmania(n), as filter 260 where this was listed has exceptions that this vandalism sneaks in on. -C 6Jan19\r\n\r\n\\b, false positives with \"transmaniacon\" (Special:AbuseLog/22928286) -G 2019.01.07\r\n+\"big chungus\" -G 2019.01.08\r\n\r\n+\"spicy boi\" and \"fat biscuit\" from filter 787 -G 2019.01.21\r\nActually remove \"fat biscuit\" as I don't see any hits in the log of 787 for it -G 2019.01.21\r\n\r\n+\"gucci\\s*gang[\\s,]*gucci\\s*gang|\\breeeeee|fetus\\s*deletus\", tested on 953. -G 2019.01.23\r\n+yeet, tested on 953. -G 2019.01.23\r\n+\"\\beats?\\s*ass\\b|ugandan\\s*knuckles\" tested on 953 -G 2019.01.25\r\nLast batch from 953: \"hard\\s+(?:pp|peepee)|(?:pp|peepee)\\s+hard|\\booo+f+\\b|\\bnibb+a+\\b|absolute\\s*unit|you'?ve\\s*been\\s*gnomed\". -G 2019.01.31\r\n+thicc and variants, -spicy boy (stale meme). More variants on subscribe to pewdiepie. Check edit summaries - catches a bit. -G 2019.02.14\r\nCatch variants on transmania(n) per Special:Contributions/ParasolProds and Special:Contributions/OnScreenThat1982 -G 2019.02.16\r\nRemove checking of summaries - I did not account for reverts inadvertently introducing the problematic phrases. -G 2019.02.17\r\n+\"g+aaa+y|\\bg+a+yy|\\bayyy|\\bl+m+a+o|rawr\\s*xd|b+o+iii|e+s+k+e+t+i+t|\\bh+iii|h+iiii|hehehe|h[au]r[au]mba?e\\b|aviation\\s*,[\\s\\S]*?there\\s*is\\s*no[\\s\\S]*?bee[\\s\\S]*?be\\s*able\\s*to\\s*fly\"; some terms tested on 953, others (harambe, bee movie script) are merged from 784 and 813. Also check page_title now. -G 2019.02.28\r\n\r\nAdd word boundary to \\bg+a+yy, causing FPs on names like \"Gayyoom\". Would have caused no FNs in last 1000 hits. --Suffusion of Yellow 18:01 16 May 2019\r\n\r\n+\"dQw4w9WgXcQ|\\buwu\\b|\\bowo\\b|hit\\s*or\\s*miss[\\s,]*I\\s*guess\", tested on 953. -G 2019-05-17\r\n\r\n+\"ok(?:ay)? boomer\" -G 2019-11-21\r\n\r\n\"joe m[oa]m+a\", tested on 1013 --Suffusion of Yellow 17:47 26 Nov 2019\r\n\r\nMerge \"#redirect\\s*\\[\\[donald[\\s_]trump\\]\\]\" from filter 843 --Suffusion of Yellow 20:56 27 Nov 2019\r\n\r\n+\"epstein\\W+did\\s*n.?t\\s+kill\" (See [[Epstein didn't kill himself]]), tested on 1013 --Suffusion of Yellow 20:46 30 Nov 2019\r\n\r\n\"g+aaa+y\" matched Google Books URLs twice today. Temporarily moving to filter 1014 in case Google changed something in the format. --Suffusion of Yellow 07:13 6 Dec 2019\r\nLeaving out \"g+aaa+y\" for good. Lots of gbooks urls contain \"[A-Z]AAA[A-Z]\" and only successfully used for vandalism twice in one week. --Suffusion of Yellow 22:27 14 Dec 2019\r\n\r\nAdd misspelling \"epstien\". --Suffusion of Yellow 21:39 17 Jan 2020\r\nAdd \"bruh\" -- Ohnoitsjamie 16:59 Feb 16 2020\r\n* Per false positive hit on Bruhn, changed bruh to \\bbruh+\\b - Ohnoitsjamie Feb 22 2020\r\n* Adding bruv (syn for \"bruh\") - Ohnoitsjamie 2020-12-21\r\n\r\nAdd 69/420 related strings. Tested in 1014. --Suffusion of Yellow 20:37 1 Mar 2021\r\n\r\nExclude webcolor #696969. --Suffusion of Yellow 19:16 3 Apr 2021\r\n\r\nMerge in filter 1126, \"\\b(?:ranboo|tubbo)\" --Suffusion of Yellow 19:24 5 May 2021\r\n\r\nTweak \"them's the facts\" pattern per FP. --Suffusion of Yellow 22:03 16 Jan 2022\r\n\r\nDon't match on \"Owo\" (but still on other capitalizations). --Suffusion of Yellow 20:38 29 Jan 2022\r\n\r\nMake 69 pattern a bit less aggressive. Change (and one above) suggested by Tamzin. --Suffusion of Yellow 21:19 29 Jan 2022\r\n\r\n rm Harambe; some FPs and meme is mostly dead. Discussion at [[Special:PermaLink/1077907263#Lharg]]. --Suffusion of Yellow 21:11 18 Mar 2022\r\n\r\nAdd \"quandale\\s*dingle\", tested on filter 1. --Suffusion of Yellow 23:27 11 May 2022\r\n\r\nRemove \"owo\"; at least temporarily. Only two true positives since 9 Jun, and a few FPs related to recent church attack. All-lowercase spelling can still appear in URLs. --Suffusion of Yellow 00:09 20 Jun 2022\r\n\r\nRename to \"Memes and vandalism trends\" after suggestion by [[User:0xDeadbeef]]; very few hits have anything to do with \"yolo\" or \"swag\". --Suffusion of Yellow 18:52 18 Jul 2022\r\n\r\n+\"\\bs+h+ee+s+h+\\b\". Tested on 1014. Not a huge number of hits, so just remove this if it causes problems. --Suffusion of Yellow 23:06 21 Aug 2022\r\n\r\n\"\\bl+m+a+o\" -\u003E \"\\bl+m+f*a+o\". Change suggested by PhantomTech. Tested at 1014. Again, not a huge number of hits, so if there are too many FPs related to [[LMFAO]], just revert this. --Suffusion of Yellow 18:54 22 Aug 2022\r\n\r\n+\"l\\s*bozo\" --Ingenuity 17:14 15 June 2023\r\n\r\n\"(?\u003C!\\d|#)(?:69\\D*420|420\\D*69|(?:69\\D{0,50}){3,})(?!\\d)\" --\u003E \"(?\u003C!\\d|#)(?:69\\D{0,3}420|420\\D{0,3}69|(?:69\\D{0,3}){3,})(?!\\d)\"\r\nFormer matches [[Special:AbuseLog/35407745]] too strictly, and lets be real, if 420, then 50+ characters show up in between, and then 69, we are likely not catching anything legit either way. --AmandaNP 04:22 Jun 29/2023\r\n\r\n+\"skibidi\" and \"gyatt\" --Ingenuity 18:57 17 Nov 2023\r\n\r\n+\"Nick Turani\", lots of band vandalism -- Firefly 2023-11-21\r\n\r\n+\"rizz\" --Ingenuity 17:25 28 Nov 2023\r\n\r\n\"rizz\" -\u003E \"\\brizz\" (\"grizzy\", \"drizzle\", etc.) --Suffusion of Yellow 04:13 2 Dec 2023\r\n\r\n+\"grinched/ing\", used by Blue Barette Bam - added here rather than an LTA specific in an attempt to obfuscate -how- we're filtering this silliness, and the fact that it is a \"vandalism meme\" -- Firefly, 2023-12-18\r\n\r\n+doxbin, another BBB thing. \u2014 FF, 2023-12-24\r\n\r\n+Fix false positive regarding the surname \"Rizzo\" -- RTH 18:00, 26 December 2023\r\n\r\n+\\bslay{2,} --Ingenuity 3 Jan 2024\r\n\r\nAdd \"\\bgyat\\b\" per EFR request. \"gyatt\" is already there, but this spelling seems like it might be common. Only 19 hits in article space, so not tested in log-only filter first. --Suffusion of Yellow 22:40 15 Jan 2024\r\n\r\n+\"isn[o']tr(?:ae|ea)l\" per [[Special:PermaLink/1203426813#Prevent Israel from being replaced with Isnotreal/Isnotrael]]. Zero mainspace hits so low risk. --Suffusion of Yellow 02:57 7 Feb 2024\r\n\r\n+ Skibidi toilet crap -- Ohnoitsjamie, March 26 2024\r\n\r\nMerge most of 1124 (Among Us); meme has died back a bit and doesn't need its own filter. --Suffusion of Yellow 21:53 8 Apr 2024\r\n\r\nMove \"ligma\" meme from filter 260. --Suffusion of Yellow 22:05 8 Apr 2024\r\n\r\nrm terms that were moved to filter 1294. --Suffusion of Yellow 00:27 14 Apr 2024\r\n\r\n+\"is the goat\", \"what the sigma\", tested in 1296 --Suffusion of Yellow 01:24 21 Apr 2024\r\n\r\nRm LTA terms. --Suffusion of Yellow 01:29 21 Apr 2024\r\n\r\n+more \"skibidi\" variants, also \"ohio sigma\" and \"sigma ohio\". --Suffusion of Yellow 18:58 27 Apr 2024\r\n\r\nrm 'sheesh'; about 50% FPs out of the last 2000 hits. --Suffusion of Yellow 03:41 28 Apr 2024\r\n\r\nreduce FPs on \"rizz\" --Suffusion of Yellow 22:58 2 May 2024\r\n\r\nclarify which gen this is for in name (maybe we could split this out? the filter is ten years old so we have e.g. yolo swag 420 blaze it stuff and skibidi rizz gyat sigma ohio stuff in the same regex which seems unholy) --JPxG 22:15 18 May 2024\r\n\r\nrm one redundant \"skibidi\" check, slightly expand one other check. --Suffusion of Yellow 20:01 20 May 2024\r\n\r\nAdd Diddy-related referencing, severe ongoing vandalism per EFR request --EggRoll97 16:00 9 Oct 2024\r\n\r\nAdded some more brainrot terms (German stare, balkan breakfast, etc) --Ohnoitsjamie, 16 Oct 2024\r\n\r\n+ \"thick of it, everybody knows\" from a [[Thick of It (KSI song)]] --DatGuy 22:48 24 Nov 2024\r\n\r\nAdd \"smartschoolboy9\", EFR request. --EggRoll97 05:46 30 Nov 2024\r\n\r\nAdd \"rizzmas\", EFR request. --EggRoll97 02:40 28 Dec 2024\r\n\r\nadded \"low taper fade\" per a request at EFN --Novem Linguae 05:55 15 Jan 2025\r\n\r\nWord-boundary for p diddy vandalism, EFFPR --EggRoll97 19:47 20 Jan 2025\r\n\r\nRm diddy, seems to have died down. --EggRoll97 04:33 14 Feb 2025\r\n\r\nSplit regex into multiple lines for better maintainability, match on smart quotes for apostrophes, use \\s for spaces, other minor regex improvements. --Daniel Quinlan 15 February 2025\r\n\r\nSort the regex lines, update several expressions, and add several expressions. --Daniel Quinlan 16 February 2025\r\n\r\nUpdate several expressions and add several expressions. --Daniel Quinlan 17 February 2025\r\n\r\nAdd keyboard smashing patterns, other minor updates. --Daniel Quinlan 19 February 2025\r\n\r\nRemoved \"v{5,}\" pattern for now (also happened to be the lowest hit rate keyboard smashing pattern). --Daniel Quinlan 19 February 2025\r\n\r\nUpdated and added several patterns, removed keyboard smashing patterns (moving them to filter 135). --Daniel Quinlan 19 February 2025\r\n\r\nSplit regex into case-sensitive and case-insensitive sections, update several patterns, add one pattern. --Daniel Quinlan 20 February 2025\r\n\r\nApply the filter to accounts with fewer than 50 edits or less than one week of age (instead of only to non-autoconfirmed users). --Daniel Quinlan 24 February 2025\r\n\r\nApply the filter to additional namespaces. --Daniel Quinlan 4 March 2025\r\n\r\nUse more limited exception for page titles. --Daniel Quinlan 5-6 March 2025\r\n\r\nAdd notes on handling false positive reports, reduce false positives on \"Roblox\" and \"baby oil\". --Daniel Quinlan 7 March 2025\r\n\r\nReduce false positives on \"IShowSpeed\". --Daniel Quinlan 9 March 2025\r\n\r\nRemove and update several expressions with poor statistics over the past year, add exception to deal with several false positves on \"is gay\" and \"was gay\". --Daniel Quinlan 9-10 March 2025\r\n\r\nAvoid some exceptions when the user_name and page_title share a substring, don't exempt non-autoconfirmed users based on a meme in the article title when they are creating a draft, use broader regex for autoconfirmed user exception for sourced edits. --Daniel Quinlan 10 March 2025\r\n\r\nIncreased edit count threshold to 60 based on analyzing log data from the test filter. --Daniel Quinlan 27 March 2025\r\n\r\nExempt the reference desk based on a disallowed edit for containing \"btw\". Feel free to revert if needed, but this doesn't seem needed for the refdesk at the moment. --EggRoll97 10 April 2025\r\n\r\nAdd an exception for \"btw\" hits in Wikipedia space instead. --Daniel Quinlan 10 April 2025\r\n\r\nCleaned up first match exception logic, updated maintenance notes. --Daniel Quinlan 10 April 2025\r\n\r\nAdd \"gyatt\" variant with single t, but surround it by word boundaries to avoid FPs. - PharyngealImplosive7 July 14, 2025\r\n\r\nFix some false positives. --Daniel Quinlan 17 July 2025\r\n\r\nRemoved \\bgyat\\b which was already matched by another line, fixed several potential false positives on \"gyat\" words. --Daniel Quinlan 17 July 2025\r\n\r\nUpdated exception for removed text to reduce false negatives. --Daniel Quinlan 18 August 2025\r\n\r\nRestructure first match exception conditions to avoid \"too much recursion\" error in debugger. --Daniel Quinlan 22 August 2025\r\n\r\nGeneral updates to patterns and exceptions. --Daniel Quinlan 21 February 2025 to 29 August 2025\r\n\r\nAdding condition to top of filter so that edits to Wiki Ed pages do not trigger this filter. Edits by Wiki Ed instructors and students have triggered this filter and blocked their changes - both of which involve changes to their Wiki Ed course page. See false positive reports: Special:Permalink/1311400125#ProfLSC, Special:Permalink/1312303220#XingHaiLiu. --Oshwah 9/21/2025\r\n\r\nMove exception to end of filter. --Daniel Quinlan 21 September 2025\r\n\r\nException for DYK pages as per [[Special:AbuseLog/42426482]] -- PI7, 12 Oct 2025\r\n\r\nUpdated exceptions. --Daniel Quinlan 15 October 2025, 25 October 2025\r\n\r\nOnly apply one user_name regex to named accounts (was only used to disable some exceptions), move sourcing exception so we can use it to exempt specific matches. --Daniel Quinlan 7 November 2025\r\n\r\nImproved template exceptions to reduce false positives. --Daniel Quinlan 20 November 2025","group":"default","actions":{"disallow":["abusefilter-disallowed"]},"enabled":true,"deleted":false,"privacylevel":0,"global":false},"actions":{"disallow":["abusefilter-disallowed"]}}
Actions to take when matched
Trigger actions only if the user trips a rate limit
Number of actions to allow:
Period of time (in seconds):
Group throttle by:
user
See
the documentation on mediawiki.org
.
Trigger these actions after giving the user a warning
System message to use for warning:
abusefilter-warning
Other message
Page name of other message:
(without "MediaWiki:" prefix)
Show/Hide preview of selected message
Prevent the user from performing the action in question
System message to use for disallowing:
abusefilter-disallowed
Other message
Page name of other message:
(without "MediaWiki:" prefix)
Show/Hide preview of selected message
Revoke the user's autoconfirmed status
Block the user and/or IP address from editing
Block the user and/or IP address from editing their own talk page
Block duration for non-registered users:
2 hours
1 day
3 days
1 week
2 weeks
1 month
3 months
6 months
1 year
indefinite
Block duration for registered users:
2 hours
1 day
3 days
1 week
2 weeks
1 month
3 months
6 months
1 year
indefinite
Tag the edit for further review
Tags
to apply:
Search
Search
Viewing abuse filter 9: Memes and vandalism trends (moomer slang + zoomer slang)
Add topic