MediaWiki:Titleblacklist

From Wikiquote
Jump to: navigation, search
# This is a title blacklist; every title that matches regex here are forbidden to create.
# Options exist to stop editing, account creation, and moves as well.
# See the talk page for more information.
# Please comment any additions made to the blacklist.
# Note: Internally, the pattern delimiter is '/', so be sure to escape all '/'s.
# UTF-8 mode is enabled. Do not use literal non-breaking spaces in regexes as some browsers cannot handle them.
# This is a title blacklist; every title that matches regex here are forbidden to create.
# Options exist to stop editing, account creation, and moves as well.  See mw:Extension:Title Blacklist for documentation
# See the talk page for more information.
# Please comment any additions made to the blacklist.
# Note: Internally, the pattern delimiter is '/', so be sure to escape all '/'s.
# UTF-8 mode is enabled. Do not use literal non-breaking spaces in regexes as some browsers cannot handle them.
# OBSCURE ASCII CHARACTER LOOKALIKES
.*[ℂ℃℄ℇ℈℉ℊℋℌℍℎℏℐℑℒℓℕ℗℘ℙℚℛℜℝ℞℟℣ℤℨ℩ℬℭ℮ℯℰℱℲℳℴℹ℺⅁⅂⅃⅄ⅅⅆⅇⅈⅉⅎⱧȢǁǂƔɣƪƪҤҺяԊѓԍҥҩԌЃ¥ϓһђғЂҒЊӷⱤɌɍᵲᶉɼᵃᵍᴱᵣɽɾ].* <casesensitive> # Select letter-like symbols (excluding Kelvin, Angstrom and Ohm signs, see talk)
.*[\x{249C}-\x{24E9}].* <casesensitive> # Circled and parenthesized Latin letters
.*[\x{FF21}-\x{FF3A}\x{FF41}-\x{FF5A}].* <casesensitive | errmsg=titleblacklist-custom-fullwidth> # Fullwidth Latin letters
.*[?ʖ؟ʔ].* <casesensitive | moveonly> # Question mark lookalikes, used for page move vandalism
.*[\x{1D00}-\x{1DBF}].* <casesensitive> # Phonetic extensions, almost never used in valid titles
.*[\x{0250}-\x{02AF}].* <casesensitive | moveonly> # IPA extensions, somewhat more common, so blocking only moves for now
.*[∀-∑∟-∳⊂-⋕⋲-⋿].* <casesensitive | moveonly> # Select mathematical operators (excluding "−", "∞" and some other common ones)
.*[\x{27C0}-\x{27ef}\x{2980}-\x{29ff}\x{2a00}-\x{2aff}].* <casesensitive | moveonly> # Misc./supplemental mathematical symbols
# OTHER UNDESIRABLE CHARACTERS
.*[\x{00A0}\x{1680}\x{180E}\x{2000}-\x{200B}\x{2028}\x{2029}\x{202F}\x{205F}\x{3000}].* <casesensitive | errmsg=titleblacklist-custom-nbsp> # Non-breaking and other unusual spaces, with custom error message
.*[\x{202A}-\x{202E}].* <casesensitive> # BiDi overrides
.*[^\P{So}¦§©®°¶№™☀-⚲✁-➾].* <casesensitive> # "Other punctuation", with some exceptions (may need more, this is a huge character class); note that single-character titles are permitted by the title whitelist
.*\p{Cc}.* <casesensitive> # Control characters
.*\x{FEFF}.* <casesensitive> # Byte order mark
.*[卍卐☭].* <casesensitive> # Swastikas, hammer-and-sickle
.*\x{00AD}.* <casesensitive> # Soft-hyphen
.*[^\0-\x{FFFF}].* <casesensitive> # Very few characters outside the Basic Multilingual Plane are useful in titles
.*[\x{2400}-\x{2426}].* <casesensitive> # Graphic pictures for control codes
# EXCESSIVE PUNCTUATION OR REPETITION
.*[!?‽¿]{3}(?<!!!!).*
.*[!?‽¿]{2}(?<!!!!).* <moveonly>
.*[!?‽¿]\s+[!?‽¿].*
.*‽‽.* <moveonly> 
.*¿¿.* <moveonly>
.*[\p{Z}]{2}.* # Disallows two adjacent "separator" characters (mostly funky spaces)
.*[^\p{L}\d ]{5}.* # Disallows five consecutive characters that are not letters (in any script), numbers, or spaces
.*([^0])\1{4}.* <moveonly> # Disallows four or more of the same character from page moves
.*(.)\1{10}.* <newaccountonly> # Disallows eleven or more of the same character repeated in usernames
.*\p{Lu}(\P{L}*\p{Lu}){9}.* <casesensitive | moveonly>  # Disallows moves with more than nine consecutive capital letters
# INVERTED QUESTION MARK WITH NON-LATIN TEXT
.*¿.*[^\p{Latin}\P{L}].*
.*[^\p{Latin}\P{L}].*¿.*
# BLP TARGETS
.*Seth.*Patinkin.*
.*Jan.*Szatkowski.*
.*(Bill|William).*Beggs.*
# ATTACK TITLES AND/OR PAGE MOVE VANDALISM TARGETS
.*JEWS DID .* <casesensitive>
.*on[ ]?whee+ls.* <moveonly> # Disallows moves with "on wheels" with 2 or more Es
.*on wh33ls.*
.*on whiels.*
.*\bwith wh?iels\b.* <moveonly>
.*on rails.* <moveonly>
.*on treads.* <moveonly>
.*BITCH.* <casesensitive>
.*COCK.* <casesensitive>
.*(c|ċ)[óòôöõǒōŏǫőøόδοσоʘ](c|ċ)k.*
.*CUM.* <casesensitive | moveonly>
.*DICK.* <casesensitive>
.*giiant.*
.*smaller.than.average.* <moveonly>
.*have sex.* <moveonly>
.*(?:suck|his|your|my) penis.* <moveonly>
.*(?:http|https|ftp|mailto|torrent|ed2k)\:\/\/[\w:@\-]+\.[\w\-]+.*
.*\bis\s+an?\s+(?:dick|cunt|fag|bitch|shit|fuck|loser|ass|gay|ghey|moron|retard|stupid|slut|pa?edo).* <autoconfirmed>
.*\bis\s+an?\s+(?:dick|cunt|fag|bitch|shit|fuck|loser|ass|gay|ghey|moron|retard|stupid|slut|pa?edo).* <moveonly>
.*[Ll][Oo][Ll].*[Ww][Uu][Tt].*
.*\bnimp\.org.*
.*JIHAD, BITCHES.* <casesensitive>
.*Vandalism is Terrorism.*
.*WANT TO HA.* <casesensitive | moveonly>
.*waant to h.* <moveonly>
.*Brian.*Peppers.*
.*suck my.* <moveonly>
.*GE ORGAS.* <casesensitive | moveonly>
.*ge orrg.* <moveonly>
.*RM, STICKY.* <casesensitive>
.*rm sticky.* <moveonly>
.*TAIN OUT OF.* <casesensitive | moveonly>
.*nigger.*nigger.*
.*sk8r.* <moveonly>
.*loves the.* <moveonly>
.*cking fail.*
.*Epic fail.*
.*L[óòôöõǒōŏǫőøόδοσоʘo]l[,;:.].* <moveonly>
.*WHUT.* <casesensitive | moveonly>
.*What what.* <moveonly>
.*Gr[oóòôöõǒōŏǫőøόδοσоʘ]p.* <moveonly>
.*[ԍGGĜĢĞĠƓǤǦǴḠԌეอÇ&ΓϜ]r[\w\s]wp.*
.*GGER.* <casesensitive>
.*H[DG][DG]E.* <casesensitive>
.*H[DG][DG]R.* <casesensitive>
.*A[DG][DG]R.* <casesensitive>
.*RMY.* <casesensitive | moveonly>
.*ERM[IE][EY].* <casesensitive>
.*ERMI.* <casesensitive>
.*RMIE.* <casesensitive>
.*R.M.I.E.* <casesensitive | moveonly>
.*R..M..I..E.* <casesensitive | moveonly>
.*RMEY.* <casesensitive>
.*Rapes babies.*
.*instead [óòôöõǒōŏǫőøόδοσоʘ]f.* <moveonly>
.*r[\w\s]pl[\w\s]c[\w\s]ng.* <moveonly>
.*h [GĜĢĞĠƓǤǦǴḠԌეอÇ&ΓϜ]s.* <moveonly>
.*ǃ[^!?]ǃ.* <moveonly>
.*Ɩ\P{L}Ɩ.* <moveonly>
.*has.been.moved.* <moveonly>
.*NEGRO.* <casesensitive | moveonly>
.*COON SPIC.* <casesensitive | moveonly>
.*is stretched by.* <newaccountonly>
.*va[gġ]ina.* <newaccountonly>
.*coċk.* <newaccountonly>
.*Brit(ph|f)ag.* #Britfag/phag
.*\b(moral)?fag\b.* <moveonly>
.*EconomicsGuy.* <newaccountonly>
.*\bN(a|o)wlins?(Wiki)?\b.* <moveonly>
.*\bL(o|[aă]w+|w[aă])l\b.* <moveonly>
.*\b[HН]\W*(U\W*)?[AΑĄĂ]\W*([GĠ]\W*)+(W\W*)?[ĔĚĖEĘUO0].* <casesensitive|moveonly> #HAGGER
.*H\W*[EĘĚĔ]\W*R\W*M\W*[EĘĚĔ]+.* <casesensitive|moveonly> #HERMEE
.*Wikipedo.*
.*An hero.* <moveonly>
.*whilst.* <moveonly>
.*\.\.\.H.* <moveonly>
.*\.\.\.\.H.* <moveonly>
.*\bfapped.* <moveonly>
.*Krimpet.* <moveonly>
.*,,+.* <moveonly>
.*;;+.* <moveonly>
# DISALLOW CREATION OF USER OR USER TALK PAGES FOR A SPECIFIC IP RANGE BY NON-AUTOCONFIRMED USERS
User( talk)?:71\.107\.(1(2[89]|[3-9]\d)|2([0-4]\d|5[0-5]))\.([01]?\d\d?|2(5[0-5]|[0-4]\d)) <autoconfirmed>
User( talk)?:75\.47\.(1(2[89]|[3-9]\d)|2([0-4]\d|5[0-5]))\.([01]?\d\d?|2(5[0-5]|[0-4]\d)) <autoconfirmed>
# PAGE MOVE TARGETS
(.*\W)?([HΉĤĦȞʰʱḢḤḦḨḪНҢӇӉΗἨἩἪἫἬἭἮἯῊЋΗ-−ŧſⱧԋ]|[Il1!ÌÍÎÏĨļǏĪĬİḷŀΙЇɨ!łľıĮįḹtţťṭτтŧjĵјſ\]\[]\W[Il1!ÌÍÎÏĨļǏĪĬİḷŀΙЇɨ!łľıĮįḹtţťṭτтŧjĵјſ\]\[])+(\W|\W.*\W)?([ǼÆǢƸEÈÉÊËĒĔĖĘĚƎƐȄȆȨЭѤӬḔḖḘḚḜẸẺẼẾỀỂỄỆₑΈΕἘἙἚἛἜἝῈЀЄЕӖ3ΣƩ?UÙÚÛÜŨŪŬŮŰŲǓǕǗǙǛΫΥΫΎRŔŖŘȐȒƦʳʴʵʶṘṚṜṞЯ®ΑΕϵ](\W|\W.*\W)?)*([RŔŖŘȐȒƦʳʴʵʶṘṚṜṞЯ®ΡΡ₧ÞþΡρРрƤṔṖǷґЃ](\W|\W.*\W)?)+([MƜḾṀṂМӍΜ₥М](\W|\W.*\W)?)+[YÝŸŶƳȲʸẎỲỴỶỸƱΎΥΫὙὛὝὟῪῨῩУϓ]+(\W.*)?  <moveonly> # HERMY
(.*\W)?[YÝŸŶƳȲʸẎỲỴỶỸƱΎΥΫὙὛὝὟῪῨῩУϓ]+(\W|\W.*\W)?([MƜḾṀṂМӍΜ₥М](\W|\W.*\W)?)+([RŔŖŘȐȒƦʳʴʵʶṘṚṜṞЯ®ΡΡ₧ÞþΡρРрƤṔṖǷґЃ](\W|\W.*\W)?)+([ǼƸEÈÉÊËÆǢĒĔĖĘĚƎƐȄȆȨЭѤӬḔḖḘḚḜẸẺẼẾỀỂỄỆₑΈΕἘἙἚἛἜἝῈЀЄЕӖ3ΣƩ?UÙÚÛÜŨŪŬŮŰŲǓǕǗǙǛΫΥΫΎRŔŖŘȐȒƦʳʴʵʶṘṚṜṞЯ®ΑΕϵ](\W|\W.*\W)?)*([HΉĤĦȞʰʱḢḤḦḨḪНҢӇӉΗἨἩἪἫἬἭἮἯῊЋΗŧſ-−Ⱨԋ]|[Il1!ÌÍÎÏĨļǏĪĬİḷŀΙЇɨ!łľıj Įįḹtţťṭτтŧĵјſ\]\[]\W[Il1!ÌÍÎÏĨļǏĪĬİḷŀΙЇɨ!łľıĮįḹtţťṭτтŧjĵјſ\]\[])+(\W.*)? <moveonly> # YMREH
.*[GĜĞĠĢƓǤǦǴḠ69&Γ]((\W|\W.*\W)?[RŔŖŘȐȒṘṚṜṞ®Ρ₧ÞþΡρРрƤṔṖǷ](\W|\W.*\W)?)+([ǼAÀÁÂÃÄÅĀĂĄǍǞǠǺȀȂȦȺḀẠẢẤẦẨẪẬẮẰẲẴẶÆǢ4@?Α](\W|\W.*\W)?)+([VƲṼṾWŴẀẂẄẆẈ₩UÙÚÛÜŨŪŬŮŰŲǓǕǗǙǛΫΥΫΎ](\W|\W.*\W)?)+[PƤṔṖǷ₧ÞþΡρРр].* <moveonly>
.*I\W*B\W*H\W*H\W*F\W*S.* <moveonly>
.*I\W*F\W*S\W*N\W*Z.* <moveonly>
Wikipedia( talk)?:([^\/]*(?-i:[^\x20-\xFF]).*|(.*\W)?[H]+(\W|\W.*\W)?(([AÀÁÂÃÄÅÆ4@](\W|\W.*\W)?)+([G69](\W|\W.*\W)?)+([AÀÁÂÃÄÅÆ4@EÈÉÊË3](\W|\W.*\W)?)+[R®]+|([EÈÉÊËÆ3](\W|\W.*\W)?)+([R®](\W|\W.*\W)?)+([MW](\W|\W.*\W)?)+Y+)(\W.*)?) <moveonly> # No haggery in project space, please. (Only ASCII/Latin1 characters needed in this regexp.)
(Help|Portal)( talk)?:(.*(?-i:[^\x20-\xFF]).*|(.*\W)?[H]+(\W|\W.*\W)?(([AÀÁÂÃÄÅÆ4@](\W|\W.*\W)?)+([G69](\W|\W.*\W)?)+([AÀÁÂÃÄÅÆ4@EÈÉÊË3](\W|\W.*\W)?)+[R®]+|([EÈÉÊËÆ3](\W|\W.*\W)?)+([R®](\W|\W.*\W)?)+([MW](\W|\W.*\W)?)+Y+)(\W.*)?) <moveonly> # ..nor in help or portal spaces either. (Only ASCII/Latin1 characters needed in this regexp.)
# POTENTIALLY CONFUSING MIXED-SCRIPT TITLES
# Cyrillic/Greek + Latin intentionally skipped due to false positives
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)[\P{Latin}A-Z]*[^\P{Latin}A-Z].*\p{Cyrillic}.* # Cyrillic + Non-ASCII Latin
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{Cyrillic}*\p{Cyrillic}.*[^\P{Latin}A-Z].* # Cyrillic + Non-ASCII Latin
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)[\P{Latin}A-Z]*[^\P{Latin}A-Z].*\p{Greek}.* # Greek + Non-ASCII Latin
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{Greek}*\p{Greek}.*[^\P{Latin}A-Z].* # Greek + Non-ASCII Latin
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{Cyrillic}*\p{Cyrillic}.*\p{Greek}.* # Cyrillic + Greek
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{Greek}*\p{Greek}.*\p{Cyrillic}.* # Cyrillic + Greek
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Armenian}.*[^\p{Armenian}\P{L}].* # Armenian + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Armenian}\P{L}].*\p{Armenian}.* # Armenian + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Bengali}.*[^\p{Bengali}\P{L}].* # Bengali + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Bengali}\P{L}].*\p{Bengali}.* # Bengali + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Cherokee}.*[^\p{Cherokee}\P{L}].* # Cherokee + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Cherokee}\P{L}].*\p{Cherokee}.* # Cherokee + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Ethiopic}.*[^\p{Ethiopic}\P{L}].* # Ethiopic + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Ethiopic}\P{L}].*\p{Ethiopic}.* # Ethiopic + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Georgian}.*[^\p{Georgian}\P{L}].* # Georgian + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Georgian}\P{L}].*\p{Georgian}.* # Georgian + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Gujarati}.*[^\p{Gujarati}\P{L}].* # Gujarati + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Gujarati}\P{L}].*\p{Gujarati}.* # Gujarati + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Gurmukhi}.*[^\p{Gurmukhi}\P{L}].* # Gurmukhi + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Gurmukhi}\P{L}].*\p{Gurmukhi}.* # Gurmukhi + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Kannada}.*[^\p{Kannada}\P{L}].* # Kannada + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Kannada}\P{L}].*\p{Kannada}.* # Kannada + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Khmer}.*[^\p{Khmer}\P{L}].* # Khmer + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Khmer}\P{L}].*\p{Khmer}.* # Khmer + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Lao}.*[^\p{Lao}\P{L}].* # Lao + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Lao}\P{L}].*\p{Lao}.* # Lao + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Malayalam}.*[^\p{Malayalam}\P{L}].* # Malayalam + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Malayalam}\P{L}].*\p{Malayalam}.* # Malayalam + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Myanmar}.*[^\p{Myanmar}\P{L}].* # Myanmar + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Myanmar}\P{L}].*\p{Myanmar}.* # Myanmar + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Oriya}.*[^\p{Oriya}\P{L}].* # Oriya + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Oriya}\P{L}].*\p{Oriya}.* # Oriya + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Runic}.*[^\p{Runic}\P{L}].* # Runic + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Runic}\P{L}].*\p{Runic}.* # Runic + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Sinhala}.*[^\p{Sinhala}\P{L}].* # Sinhala + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Sinhala}\P{L}].*\p{Sinhala}.* # Sinhala + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Syriac}.*[^\p{Syriac}\P{L}].* # Syriac + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Syriac}\P{L}].*\p{Syriac}.* # Syriac + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Tamil}.*[^\p{Tamil}\P{L}].* # Tamil + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Tamil}\P{L}].*\p{Tamil}.* # Tamil + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Telugu}.*[^\p{Telugu}\P{L}].* # Telugu + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Telugu}\P{L}].*\p{Telugu}.* # Telugu + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Thaana}.*[^\p{Thaana}\P{L}].* # Thaana + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Thaana}\P{L}].*\p{Thaana}.* # Thaana + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Thai}.*[^\p{Thai}\P{L}].* # Thai + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Thai}\P{L}].*\p{Thai}.* # Thai + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*\p{Tibetan}.*[^\p{Tibetan}\P{L}].* # Tibetan + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:)\P{L}*[^\p{Tibetan}\P{L}].*\p{Tibetan}.* # Tibetan + anything else
(?!(User|Wikipedia|Image|File)( talk)?:|Talk:).*[\p{Buhid}\p{Deseret}\p{Gothic}\p{Hanunoo}\p{Mongolian}\p{Ogham}\p{Tagalog}\p{Tagbanwa}\p{Yi}].* # Unused obscure scripts
# DISALLOW PAGE MOVES TO MIXED-SCRIPT TITLES
# Intentionally move-only due to false positives
(?!(User|Wikipedia)( talk)?:|Talk:)\P{L}*\p{Latin}.*[^\p{Latin}\P{L}].* <moveonly> # Latin + non-Latin
(?!(User|Wikipedia)( talk)?:|Talk:)\P{L}*[^\p{Latin}\P{L}].*\p{Latin}.* <moveonly> # Latin + non-Latin
(?!(User|Wikipedia)( talk)?:|Talk:)\P{L}*\p{Greek}.*[^\p{Greek}\P{L}].* <moveonly> # Greek + non-Greek
(?!(User|Wikipedia)( talk)?:|Talk:)\P{L}*[^\p{Greek}\P{L}].*\p{Greek}.* <moveonly> # Greek + non-Greek
(?!(User|Wikipedia)( talk)?:|Talk:)\P{L}*\p{Cyrillic}.*[^\p{Cyrillic}\P{L}].* <moveonly> # Cyrillic + non-Cyrillic
(?!(User|Wikipedia)( talk)?:|Talk:)\P{L}*[^\p{Cyrillic}\P{L}].*\p{Cyrillic}.* <moveonly> # Cyrillic + non-Cyrillic
# Slightly different regexp for user/project/talk pages, to allow e.g. Latin subpages of Cyrillic usernames:
((User|Wikipedia)( talk)?:|Talk:)(.*\/)?\P{L}*\p{Latin}[^\/]*[^\p{Latin}\P{L}].* <moveonly> # Latin + non-Latin 
((User|Wikipedia)( talk)?:|Talk:)(.*\/)?\P{L}*[^\p{Latin}\P{L}][^\/]*\p{Latin}.* <moveonly> # Latin + non-Latin
((User|Wikipedia)( talk)?:|Talk:)(.*\/)?\P{L}*\p{Greek}[^\/]*[^\p{Greek}\P{L}].* <moveonly> # Greek + non-Greek
((User|Wikipedia)( talk)?:|Talk:)(.*\/)?\P{L}*[^\p{Greek}\P{L}][^\/]*\p{Greek}.* <moveonly> # Greek + non-Greek
((User|Wikipedia)( talk)?:|Talk:)(.*\/)?\P{L}*\p{Cyrillic}[^\/]*[^\p{Cyrillic}\P{L}].* <moveonly> # Cyrillic + non-Cyrillic
((User|Wikipedia)( talk)?:|Talk:)(.*\/)?\P{L}*[^\p{Cyrillic}\P{L}][^\/]*\p{Cyrillic}.* <moveonly> # Cyrillic + non-Cyrillic
.*([^\P{Lu}\p{Latin}]\P{L}*){4}.* <casesensitive | moveonly> # Non-Latin all caps
# Block a particular bot
AOL user message bot .* <newaccountonly>
# GENERIC IMAGE FILE NAMES (with custom error message)
# at most three letters of potentially meaningful text:
(Image|File):\P{L}*((Ima?ge?|Pict(ure)?|Photo)\P{L}+)?(\p{L}\P{L}*){0,3}((orig|copy|thumb|small)\P{L}*)?\.[^.]+  <reupload | errmsg=titleblacklist-custom-imagename>
# no more than two contiguous letters (raising to three would be tempting, but needs more testing):
(Image|File):\P{L}*((Ima?ge?|Pict(ure)?|Photo)\P{L}+)?(\p{L}{1,2}\P{L}+)*((\p{L}{1,2}|orig|copy|thumb|small)\P{L}*)?\.[^.]+  <reupload | errmsg=titleblacklist-custom-imagename>
# month name followed by no more than two contiguous letters, JPEG suffix (be careful if you edit this, easy to trigger false positives):
(Image|File):\P{L}*(January|Jan|February|Febr?|March|Mar|April|Apr|May|June?|July?|August|Aug|September|Sept?|October|Oct|November|Nov|December|Dec)(\P{L}+\p{L}{1,2})*\P{L}*\.JPE?G  <reupload | errmsg=titleblacklist-custom-imagename>
# Common digital cameral file names, based on list at http://diddly.com/random/about.html
# See also MediaWiki:Filename-prefix-blacklist, used to generate a warning on the upload form
(Image|File):DCP\d+\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # Kodak
(Image|File):DSC.\d+\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # Design rule for Camera File system (Nikon, Fuji, Polaroid)
(Image|File):MVC-?\d+\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # Sony Mavica
(Image|File):P[\dA-F]\d+\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # Olympus, Kodak
(Image|File):I?MG[P_]?\d+\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # Canon, Pentax
(Image|File):1\d+-\d+(_IMG)?\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # Canon
(Image|File):(IM|EX)\d+\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # HP Photosmart
(Image|File):DC\d+[SML]\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # Kodak
(Image|File):PICT\d+\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # Minolta
(Image|File):PANA\d+\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # Panasonic
(Image|File):DUW\d+\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # some mobile phones
(Image|File):CIMG\d+\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # Casio
(Image|File):JD\d+\.JPG  <reupload | errmsg=titleblacklist-custom-imagename>  # Jenoptik
# Other common patterns
(Image|File):\d{9}[A-Z]{6}_[A-Z]{2}\P{L}*\.\w+  <reupload | errmsg=titleblacklist-custom-imagename>  # some image hosting site?
(Image|File):\d{8,}_[\dA-F]{10}(_[A-Z])?\P{L}*\.\w+  <reupload | errmsg=titleblacklist-custom-imagename>  # another image hosting site?
# (Image|File):(\d{9,10}[A-Z])+[A-Z]?\.\w+  <reupload | errmsg=titleblacklist-custom-imagename>  # yet another image hosting site? (redundant to "no more than two contiguous letters")
(Image|File):([\dA-F]{8}-)?[\dA-F]{4}-[\dA-F]{4}-[\dA-F]{4}-?[\dA-F]{12}.*  <reupload | errmsg=titleblacklist-custom-imagename>  # UUID (with some variations included)
(Image|File):L_[\dA-F]{16,}\.[^.]+  <reupload | errmsg=titleblacklist-custom-imagename>  # L_9173c67eae58edc35ba7f2df08a7d5c6.jpg
(Image|File):\P{L}*No\P{L}*name\P{L}*\.[^.]+  <reupload | errmsg=titleblacklist-custom-imagename>  # Noname2.jpg
.*(\ba|A)(?i:dmin) <newaccountonly>
.*(\bs|S)(?i:ysop) <newaccountonly>
.*(\bm|M)(?i:oderator) <newaccountonly>
.*(\ba|A)(?i:gent) <newaccountonly>
.*(?i:penis) <newaccountonly>
.*(?i:vagina) <newaccountonly>
.*(?i:cocksucker) <newaccountonly>
.*(?i:fu[c(k]k) <newaccountonly>
.*(\bo|O)(?i:n wheels) <newaccountonly | moveonly>
.*(\bs|S)(?i:crotum) <newaccountonly>
.*(\bo|O)(?i:rgasm) <newaccountonly>
.*(?i:jimbo wales) <newaccountonly>
.*\.(com|org|co\.uk|net|info)\b <newaccountonly>
  .*(?i:wikipedia|wiktionary|wikibooks|wikiquote|wikiversity|wikisource|wikinews|wikimedia) <newaccountonly>
.*(?i:OTRS) <newaccountonly>
.*(?i:fellatio) <newaccountonly>
.*(?i:cunnilingus) <newaccountonly>
.*(?i:mumfum|zarbon|kazoo) <newaccountonly>
.*(?i:bastique) <newaccountonly>
.*(?i:Hash raid 0) <newaccountonly>
#No usernames longer than 39 characters.
.*.{40,} <newaccountonly>