English Wikipedia @ Freddythechick:AutoWikiBrowser/Settings/Dab cleanup
<syntaxhighlight lang="xml"> <?xml version="1.0" encoding="utf-8"?> <AutoWikiBrowserPreferences xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:space="preserve" Version="6.2.1.0">
<Project>wikipedia</Project> <LanguageCode>en</LanguageCode> <CustomProject /> <Protocol>http://</Protocol> <LoginDomain /> <List> <ListSource>All disambiguation pages</ListSource> <SelectedProvider>CategoryListProvider</SelectedProvider> </List> <FindAndReplace> <Enabled>true</Enabled> <IgnoreSomeText>false</IgnoreSomeText> <IgnoreMoreText>false</IgnoreMoreText> <AppendSummary>true</AppendSummary> <Replacements /> <AdvancedReps> <IRule xsi:type="Rule"> <enabled_>false</enabled_> <Children /> <Name>Notes</Name> <ruletype_>OnWholePage</ruletype_> <replace_>- Rules with * in the name use templates or parser functions. Rules with ** use substitution.
- Rules with (if) in the name have search strings on the "If" tab.
Optimization: - Instead of ( *.+), use (.+) (MUCH faster) - To IGNORE matches found BETWEEN strings OPEN and CLOSE:
match(?![^OC]*(?!OPEN)[^OC]*CLOSE) (faster than neg lookbehind)
</replace_>
<with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Insert missing line break between entries</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(^\*+ *.*)(\*+ *.*)</replace_> <with_>$1
$2</with_>
<ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>No double spaces or tabs</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=[^\s-])( | ){2,}(?=[^\s-])</replace_> <with_> </with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>VISIBLE WHITESPACE (placeholder)</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Double newline between sections (NEW)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=[^=}\n])\n(?==[=]+)</replace_> <with_>\n\n</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>INVISIBLE WHITESPACE (placeholder)</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>"may refer to" 1</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=^[^\*].*)(?<!(commonly|mainly|(most )?often|ordinarily|primarily|principally|typically|usually) )((?<also1>(also )?)(?<= )(may|can|could|might|is) (?<also2>(also )?)(be used to )?(?<= )(refer to|be|mean)|(?<also1>(also )?)(?<= )(refers to|is|means))( (any|one|any one|several|multiple|either))?( of)?( (a number of|the following|these))?( [\w ]+)?:? *\n</replace_> <with_>may ${also1}${also2}refer to:\n</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>IgnoreCase Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>"may refer to" 2</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(has|(may|can) have) (several |many )?(different |alternat(iv)?e )?meanings\.?(, including)?:?</replace_> <with_>may refer to:</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Drop "The word(s)"**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>The (expression|phrase|term|title|word)(s)? (?<q>['"]*)(?<first>\w)(?!['"]* may refer)</replace_> <with_>${q}{{subst:uc:${first}}}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Add missing intro**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>^\s*([=;\*].*)</replace_> <with_>{{subst:PAGENAMEBASE}} may refer to:\n\n$1</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Rm NOTOC</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(__|\{\{)NO( )?TOC(__|\}\})\n</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>IgnoreCase</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Remove some dicdefs (NEW)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>^[^\[\]\n]* (is|are|means|is a(n)? .*(word|noun|(ad)?verb|adjective) (meaning|(often )?translated as)) [^\[\]\n]*\.\n</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>(if) wikt before intro (NEW)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<intro>^.+)\n+(?<wikt>\{\{[Ww]ikt(ionary)?[^\{\}\n]*\}\})</replace_> <with_>${wikt}\n${intro}</with_> <ifContains_>\{\{[Ww]ikt</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline Singleline</regexOptions_> </IRule> </Children> <Name>INTRO (placeholder)**</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>(if) Comment out refs (revised)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<ref>\<[Rr]ef( +[\w ]+=[\w '"]+ *)*(\>[^\<\>]*\</[Rr]ef\>|/\>))(?![^\<\>]*(?!\<!--)[^\<\>]*--\>)</replace_> <with_><!--${ref}--></with_> <ifContains_><[Rr]ef</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>(if) Comment ext links outside refs (revised)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<link>\[?http[s]?://[^\s\[\]]+(?<display> [^\[\]]+(?=\]))?\]?)(?![^\<\>]*(?!\<[Rr]ef[^\<\>]*\>)[^\<\>]*\</ref\>)(?![^\<\>]*(?!\<!--)[^\<\>]*--\>)</replace_> <with_><!--${link}--></with_> <ifContains_>http[s]?://</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Fix wikilinks+templates (SLOW?)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<![\[\{])(?<open>[\[\{]){2,3}(?<content>[^\[\]\}\}]*)(?<close>[\]\}]){1,3}(?![\]\}])</replace_> <with_>${open}${open}${content}${close}${close}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Un-nest nested comments</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(\<!--[^\>]*)\<!--([^\>]*)--\>([^\>]*--\>)</replace_> <with_>$1$2$3</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>2</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>false</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>false</enabled_> <Children /> <Name>but don't duplicate</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<existing>\{\{(([Tt][Oo][Cc]|[Cc]ontents)( float)?[- ]?([Rr]ight|RIGHT)|[Rr]ightTOC)\}\}) *\n*\{\{TOC right\}\}</replace_> <with_>${existing}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> </Children>
<Name>+
if 4+ headers*</Name>
<ruletype_>OnWholePage</ruletype_> <replace_>^(?<pre>[^=]*)(?=(?<!\{\{([Tt][Oo][Cc][ _-]?(float)?[ _-]?[Rr](ight|IGHT)|[Cc]ontents[ _]right|[Rr]ightTOC)\}\}\n+)=[=]+.*=[=]+.*=[=]+.*=[=]+.*=[=]+.*=[=]+.*=[=]+.*=[=]+.*)</replace_>
<with_>${pre}
\n</with_>
<ifContains_>==</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> </Children>
<Name>Rm <references/> &
</Name>
<ruletype_>OnWholePage</ruletype_> <replace_>\n(<[Rr]eferences[ ]*/>[\n]+|\{\{([Rr]ef|[Nn]ote)list(\|[^\}]*)?\}\}\n)$</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Rm uncommented ref cleanup tags</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?:<!--[.\n]*-->)*(?<!\<!--[^\{]*){{([Rr]eferences|([Aa]d[d]?|[Bb]ad|[Cc]ite|[Cc]leanup|[Ff]ew|[Ii]mprove|[Mm]issing|[Mm]ore|[Nn]eeds( additional|more)?|[Nn]o[t]?|[Uu]n)(-| )?(cit|r|source|verif)[^\}]*|[Nn][Rr]|([Rr]ef(erence)?|[Cc]itation)[s]?[ ]?(needed|missing)?|[Rr]efim[^\}]*|[Ss]ources|[Rr]ip|\+[Rr])}}[\n]*</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>REFS/COMMENTS (placeholder)*</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>No bold after lead</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=^[\*=].*)(.*)</replace_> <with_>$1</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>3</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Indent with bullets</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=^:*):(?=/*)</replace_> <with_>*</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Rm linkless non-parent entries</Name> <ruletype_>OnWholePage</ruletype_> <replace_>^(?<stars>\*+) *[^\[\]\{\}\n]*(?!: *)$\n(?!\k<stars>\*)</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Add colon to linkless parent entries</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=^\n*\*+ *)(?<text>[^\[\]\{\}\n:]+[^ :]) *(?=$\n\*+)</replace_> <with_>${text}:</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> </Children> <Name>If linkless entries: (SLOW)</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_>^\*+ *[^\[\]\{\}\n]*$(?![^\<\>]*(?#Unless commented:)(?!\<!--)[^\<\>]*--\>)</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>Multiline Singleline</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Except for known abbreviations</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<!\[\^\*(?!\]\][^\[]*))(?<abbrev> (etc|al|[Ii]nc|[Ll]td|[Cc]o|[JS]r|[Pp]lc))(?!\.)(?=\W*\n)</replace_> <with_>${abbrev}.</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>(if) Rm end punctuation (SLOW?)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=^\*+ *)(?<text>.*[^\.\n\s]{2,})(?:\.|;|,)(?<peren>\)?) *(?=\n+)</replace_> <with_>${text}${peren}</with_> <ifContains_>[\.;,]\)? *\n</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Cupola/punc to comma (RECENT CHANGE)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *)(?<term>[^,\n]+[^,\n\-–—:; ]|[^,\n]*\[\[.+\]\](|[^,\n]*?[^,\n\-–—:; ]))(?#unless term is in quotes, parens, or a link:)(?![^'"\n]*(?!")[^'"\n]*"|[^'"\n]*(?!)[^'"\n]*|[^\(\)\n]*(?!\()[^\(\)\n]+\)|[^\[\]\n]*(?!\[\[)[^\[\]\n]+\]\])(, which)?((?<!that) (is|are|was|were) | *([\–—]+|(?<!\!)--(?!\>)) *| *[:;\-] +(?=\w)|(?<=\]\]|\}\}) (?=(a|an|the) ))</replace_> <with_>${term}, </with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Comma to semicolon in "; see x"</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *(?![Ff]or )[^\n]*) *(\-\-|[,;:\-–—\.]) *([Ff]or more information[,;:])? ?([Ss]ee|[Cc]f[\.]?)( also)?(?![^\<\>\!]*(?!\<!--)[^\<\>\!]*--\>) </replace_> <with_>; see </with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> </Children> <Name>PUNCTUATION (placeholder)</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Name>"formerly"</Name> <ruletype_>OnWholePage</ruletype_> <replace_>((which was )?formerly|which used to be)</replace_> <with_>formerly</with_> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Name>Remove extra sentences (EXPERIMENTAL)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *.*?\w{3})\. +(?<extra_sentences>\p{Lu}.*)(?=\n)</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>SHORTEN DESCRIPTIONS (placeholder)</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>fti based on link**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=^\*+ *)(|")?\[\[(?<link>(?<main>[^\|\]]*) \((?<dabber>([^\|\]]* )?(album|book|collection|comic|EP|film|game|LP|manga|movie|musical|novel|periodical|play|(television|[Tt]\.?[Vv]\.?) program(me)?|series|show|telenovela|(?<!\w)work))\))(?!\|\k<main> \(\k<dabber>\))(\|[^\]]+)?\]\](|")?</replace_> <with_>{{subst:fti|${link}}}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>ftq based on link**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=^\*+ *)(|")?\[\[(?<link>(?<main>[^\|\]]*) \((?<dabber>[^\|\]]*(?<=\W)(episode|single|song|story|track))\))(?!\|"\k<main>" \(\k<dabber>\))(\|[^\]]+)?\]\](|")?</replace_> <with_>{{subst:ftq|${link}}}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>fti based on description (intricate)**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *)(|")?(?<!)((?<islinked>\[)\[)?(?<target>[^\[\|\]\n'" ][^\[\|\]\n]*?)(?!\|[^\[\|\]\n]+)(\]\])?(|")?(?<to_noun>, (a(n(other)?)? )?(\d{3,4} )?([\w-]+ ?){0,5} (?<!((class|kind|sort|type|variety|composer|critic|developer|director|distributor|editor|executive|host|illustrator|narrator|presenter|producer|publisher|star|writer) of( .*)?|.* (by|from|(with)?in|of|on) .*))(album|biopic|book|chronicle|comedy|documentary|drama|EP|film|franchise|board[ \-]?game|genus|LP|magazine|movie|mural|newspaper|novel(ette|la)?|painting|(?<!(who|that|which) )play|(?<!trade|air|to )show|soundtrack|genus|(television|[Tt]\.?[Vv]\.?) (program(me)?|series)|thriller|western|(?<!t)work))(?!\w)(?!.*(?<!.*(by|featuring|including|starring).*)(act(or|ress)|anchor|camera|channel|character|comedi(an|enne)|company|composer|critic|developer|director|distributor|editor|executive|festival|film(maker|ographer)|host|illustrator|industry|narrator|organi[sz]ation|personality|presenter|producer|publisher|retailer|seller|service|star|station|store|superhero|system|theat(er|re)|tournament|vendor|writer))</replace_> <with_>{{subst:fti|${target}|nolink={{subst:#if:${islinked}|0|1}}}}${to_noun}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>fti for species likely in Latin** (NEW)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *)(|")?(?<!)((?<islinked>\[)\[)?(?<target>\p{Lu}\.? [^\[\|\]\n]+)(?!\|[^\[\|\]\n]+)(\]\])?(|")?(?<to_noun>, (a(n(other)?)? )?(\d{3,4} )?([\w-]+ ?){0,5}species(?!\w))</replace_> <with_>{{subst:fti|${target}|nolink={{subst:#if:${islinked}|0|1}}}}${to_noun}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>(if) ftq based on description** (intricate)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *)(|")?(?<!")((?<islinked>\[)\[)?(?<target>[^\[\|\]\n'" ][^\[\|\]\n]*?)(\]\])?(|")?(?<to_noun>, (a(n(other)?)? )?(\d{3,4} )?([\w-]+ ?){0,5}(?<!((class|kind|sort|type|variety|composer|director|host|illustrator|lyricist|narrator|producer|star|writer) of( .*)?|.* (from|in) .*))(?<!(,)? (and|or|based on|featuring) ([\w-]+ )+)(.* (episode|finale)|(episode|finale) of.*(show|series|television|[Tt]\.?[Tv]\.?|.*)|poem|single.*(album|record(?!s)|EP|LP)|(?<!album and )song(?! and album)| story(?! arc)|(?<!sound)track(?!e).*(album|record[^s]|EP|LP))(?=\s))(?! ((act(or|ress)|anthology|comedi(an|enne)|collection|composer|director|host|illustrator|lyricist|narrator|producer|star|writer)))</replace_> <with_>{{subst:ftq|${target}|nolink={{subst:#if:${islinked}|0|1}}}}${to_noun}</with_> <ifContains_>(episode|finale|poem|single|song|story|track)</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>ftqi based on description** (intricate)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *)["']*((?<islinked>\[)\[)?(?<episode>\p{Lu}[^\|\]]+) \((?<series>\p{Lu}[^\|\]]+)\)(\]\])?["']*(?=, (a(n(other)?)? )?(\d{3,4} )?([\w-]+ ?){0,5}episode of (the (television |[Tt]\.?[Vv]\.? )?(program(me)?|series|show) )?["'\[]*\k<series>["'\[]*)</replace_> <with_>{{subst:ftqi|${episode} (${series})|nolink={{subst:#if:${islinked}|0|1}}}}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>LINK FORMATTING (placeholder)**</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Use ship prefix templates*</Name> <ruletype_>OnWholePage</ruletype_> <replace_>\[\[(?<prefix>(AN|BN|EN|FN|G|GT|H|HDM|HM|HMA|HMB|HMC|HMNZ|HMQ|HMV|HNLM|HNoM|HSwM|HTM|IN|J|JD|M|NN|P|RM|ROK|RP|RS|S|SA|SM|US|USN|)S|BAP|BRP|HMT|HSC|Jsub|KRI|LÉ|MY|ORP|RFAux|RV|SMU|SV|TCG|USAT|USCGC|USRC) (?<name>[^\|\[\]\(\)]*)( \((?<code>[^\|\[\]\(\)]*)\))?(\|[^\|\]\n']+)?\]\]</replace_> <with_>{{${prefix}|${name}|${code}}}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Remove any "a/an/the" before type</Name> <ruletype_>OnWholePage</ruletype_> <replace_>\(([Tt]he|[Aa]n?) (?<type>.*(callsign|code|designator|symbol|prefix|postfix|identifier|abbreviation))</replace_> <with_>(${type}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>false</enabled_> <Children /> <Name>Language and country codes lowercase and in quotes*</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\(.*(ISO 639(-\d( and -\d)?)?|language|country).*(code|identifier)s? )(?<code>\{\{subst:uc:\{\{subst:PAGENAMEBASE\}\}\}\})(?=\))</replace_> <with_>"{{subst:lc:AutoWikiBrowser/Settings/Dab cleanup}}"</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>false</enabled_> <Children /> <Name>Substitute page name and case modifier</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\{\{)(?<template>uc:|lc:|PAGENAMEBASE)</replace_> <with_>subst:${template}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>CODE entries - move target to start and...**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=^\*+ *)((?<code>[^,\s]*), )?(?:[Tt]he|[Aa]n)? ?(?<type>(\[\[|\{\{)?([^,\n]* )?(acronym|callsign|code(name)?|designator|symbol|prefix|postfix|identifier|abbreviation)s?(\]\]|\}\})?) (?:for|of) (?:the )?(?<item>[^\n]*[^\s])(\s)?$</replace_> <with_>${item} (${type} {{subst:#if:${code}|"${code}"|{{subst:#ifeq:${type}|abbreviation|"{{subst:PAGENAMEBASE}}"|{{subst:uc:{{subst:PAGENAMEBASE}}}}}}}})</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Alternate name - move target to start (NEW)**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *)[Aa]n(other)?( alternat(?<iv>iv)?e)? (?<noun>name|title|designator|code) for (?<target>.*)</replace_> <with_>${target}, alternat${iv}ely called {{subst:uc:{{subst:PAGENAMEBASE}}}})</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Name>"from work" before "by [artist]" (NEW)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+.+)((?<by>by .*[^, ]),? (?<ident>[Aa]n? .*[^, ]),?|(?<ident>[Aa] (song|poem|single|(short )?story|track)),? (?<by>by .*[^, ]),?) from (?<pospron>his|her|their)? ?(the )?(?<work>.*\[\[.*\]\].*)</replace_> <with_>${ident} from {{subst:if:${pospron}|the |}}${work}, ${by}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>"[artist]'s work" to "work by [artist]" (NEW)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+.+)from (?<artist>.*)'s (?<work>.*\[\[.+\]\].*)</replace_> <with_>from the ${work} by ${artist}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Name>"In [field], item" to "Item, in [field]" (NEW)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *)[Ii]n (?<field>[^,\n]*), (?<entry>\[\[[^\]\n]*\]\]) (is|are|was|were) </replace_> <with_>${entry}, in ${field}, </with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>WORD ORDER (placeholder)**</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Don't pipe away disambiguators</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *)\[\[(?<base>[^\]\|\)\n]+) (?<dabber>\([^\]\|\n]+\)) *\| *\k<base>\]\]</replace_> <with_>[[${base} ${dabber}]]</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>IgnoreCase</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Name>Remove extraneous bold</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(==[^\n']*)([^\n']*==)</replace_> <with_>$1$2</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>Pseudo-headers to real headers**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?#Negative lookbehind here to ignore multiline comments made rule run very slowly)(?<=(?<parentlevel>(?<=\n=)=+).*?\n|^(?<parentlevel>)([^=]?[^\n]*\n)*?)(?!\<!--)(; ?|(In (the )?)?'*|)(?<title>[^\*;'\n=\{ ][^\n]*[^\n=':;\.\-–— ])(?<! (refer(s)? to|include(s)?|mean(s)?|is|are|was|were)(?!\w)[^\n]*)('{2,5})?[:;\-–— ]*('{2,5})?(?=(\n\(.*\))*\n+\*)</replace_> <with_>==${parentlevel}{{subst:ucfirst:${title}}}${parentlevel}==</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Abbreviate US (except in links and headers)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<!==.*)((?<U>U\.?)(?<S>S\.?)A\.?|(?<U>United )(?<S>States)( of America)|(?<U>U)nited (?<S>S)tates(?! v.))(?![^\[\]]*(?!\[\[)[^\[\]]*\]\])</replace_> <with_>${U}${S}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>29</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Abbreviate UK (except in links and headers)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<!==.*)((?<U>U)\.(?<K>K)\.?|(?<U>U)nited (?<K>K)ingdom(?! of))(?![^\[\]]*(?!\[\[)[^\[\]]*\]\])</replace_> <with_>${U}${K}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Name>Replace c. in vital years w/tooltip template</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=[\(\-–—] ?)(\[\[circa\|)?(c|ca|circa|~|approx(imately)?)\.?(\]\])?(?= ?\d)</replace_> <with_>c.</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Replace fl. in vital years w/tooltip template</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\( ?)(\[\[floruit\|)?(fl|flr|flor)\.?(\]\])?(?= ?\d)</replace_> <with_>fl.</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>COMMON ABBREVIATIONS (placeholder)</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>LC certain words at start of description (NEW)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=, )(A|An|The)(?= )(?![^\[\]]*(?!\[\[)[^\[\]]*\]\])</replace_> <with_>{{subst:lcfirst:$1}}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>UC first letter of first word of entry**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=^[=;\*]+ *)(\[\[([^\n\|\]]*\|)?)?(?<letter>\p{Ll})(?!(?#punct)[.,;:\*]|(?#single letter not a)(?<!a) |(?#French)(?<=[dl])'|(?#Arabic)(?<=a)l[- ]|(?#Greek)(?<=[αβγδεζηθικλμνξοπρσςτυφχψω]).|(?#hidden)[^\n\|\[\]]*\|)</replace_> <with_>$1{{subst:uc:${letter}}}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> </Children> <Name>CAPITALIZATION (placeholder)</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>(if) Unlink third+ links in entry**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *.*[^\[\{\n]*)(?<link1>\[\[(?<target1>[^\|\]]+)(\|[^\]]*)?\]\]|\{\{(?<template1>(AN|BN|EN|FN|G|GT|H|HDM|HM|HMA|HMB|HMC|HMNZ|HMQ|HMV|HNLM|HNoM|HSwM|HTM|IN|J|JD|M|NN|P|RM|ROK|RP|RS|S|SA|SM|US|USN|)S|BAP|BRP|HMT|HSC|Jsub|KRI|LÉ|MY|ORP|RFAux|RV|SMU|SV|TCG|USAT|USCGC|USRC)\|(?<target1>[^\}]+)\}\})(?<inter>[^\[\n]*)(?<![Ss]ee |\<!--(?!.*--\>.*).*)(?<link2>\[\[(?<target2>[^\|\]]+\|)?(?<display2>[^\]]*)\]\]|\{\{(?<template2>(AN|BN|EN|FN|G|GT|H|HDM|HM|HMA|HMB|HMC|HMNZ|HMQ|HMV|HNLM|HNoM|HSwM|HTM|IN|J|JD|M|NN|P|RM|ROK|RP|RS|S|SA|SM|US|USN|)S|BAP|BRP|HMT|HSC|Jsub|KRI|LÉ|MY|ORP|RFAux|RV|SMU|SV|TCG|USAT|USCGC|USRC)\|(?<target2>[^\}]+)\}\})(?!\<!--[acceptable|OK|keep link].*--\>)(?<rest>[^\n]*)</replace_> <with_>${link1}${inter}{{subst:#ifexist:${template1} ${target1}|{{subst:trim|1=${template2} ${display2}}}|${link2}<!--keep link only if first link red-->}}${rest}</with_> <ifContains_>(?<=\*+ *.*[^\[\{\n]*)(\[\[|\{\{)[^\[\{\n]+\[\[[^\[\{\n]+(\[\[|\{\{)</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>4</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>(if) Unlink 2nd link in entry (intricate)**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *.*[^\[\{\n]*)(?<link1>\[\[(?<target1>[^\|\]]+)(\|[^\]]*)?\]\]|\{\{(?<template1>(AN|BN|EN|FN|G|GT|H|HDM|HM|HMA|HMB|HMC|HMNZ|HMQ|HMV|HNLM|HNoM|HSwM|HTM|IN|J|JD|M|NN|P|RM|ROK|RP|RS|S|SA|SM|US|USN|)S|BAP|BRP|HMT|HSC|Jsub|KRI|LÉ|MY|ORP|RFAux|RV|SMU|SV|TCG|USAT|USCGC|USRC)\|(?<target1>[^\}]+)\}\})(?<inter>[^\[\n]*)(?<![Ss]ee |\<!--(?!.*--\>.*).*)(?<link2>\[\[(?<target2>[^\|\]]+\|)?(?<display2>[^\]]*)\]\](?<suffix2>\w*)|\{\{(?<template2>(AN|BN|EN|FN|G|GT|H|HDM|HM|HMA|HMB|HMC|HMNZ|HMQ|HMV|HNLM|HNoM|HSwM|HTM|IN|J|JD|M|NN|P|RM|ROK|RP|RS|S|SA|SM|US|USN|)S|BAP|BRP|HMT|HSC|Jsub|KRI|LÉ|MY|ORP|RFAux|RV|SMU|SV|TCG|USAT|USCGC|USRC)\|(?<display2>[^\}]+)\}\})(?!\<!--.*[acceptable|ok|OK|keep|second|link].*--\>)(?<rest>[^\n]*)</replace_> <with_>${link1}${inter}{{subst:#ifexist:${template1} ${target1}|{{subst:trim|1=${template2} ${display2}${suffix2}}}|${link2}<!--keep link only if first link red-->}}${rest}</with_> <ifContains_>(?<=\*+ *.*[^\[\{\n]*)(\[\[|\{\{)[^\[\{\n]+(\[\[|\{\{)</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>false</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>false</enabled_> <Children /> <Name>(if) Unlink third+ links in entry**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *.*[^\[\{\n]*)(?<link1>\[\[(?<target1>[^\|\]]+)(\|[^\]]*)?\]\]|\{\{(?<ship_type1>[\p{L}/]{2,6})\|(?<target1>[^\}]+)\}\})(?<inter>[^\[\n]*)(?<![Ss]ee |\<!--(?!.*--\>.*).*)(?<link2>\[\[(?<target2>[^\|\]]+\|)?(?<display2>[^\]]*)\]\]|\{\{(?<ship_type2>[\p{L}/]{2,6})\|(?<target2>[^\}]+)\}\})(?!\<!--[acceptable|OK|keep link].*--\>)</replace_> <with_>${link1}${inter}{{subst:#ifexist:${ship_type1} ${target1}|{{subst:trim|1=${ship_type2} ${display2}}}|${link2}<!--keep link only if first link red-->}}</with_> <ifContains_>(?<=\*+ *.*[^\[\{\n]*)(\[\[|\{\{)[^\[\{\n]+\[\[[^\[\{\n]+(\[\[|\{\{)</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>4</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>(if) Unlink 2nd link in entry (simplified)**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\*+ *.*[^\[\{\n]*)(?<link1>\[\[(?<target1>[^\|\]]+)(\|[^\]]*)?\]\]|\{\{(?<ship_type1>[\p{L}/]{2,6})\|(?<target1>[^\}]+)\}\})(?<inter>[^\[\n]*)(?<![Ss]ee |\<!--(?!.*--\>.*).*)(?<link2>\[\[(?<target2>[^\|\]]+\|)?(?<display2>[^\]]*)\]\]|\{\{(?<ship_type2>[\p{L}/]{2,6})\|(?<target2>[^\}]+)\}\})(?!\<!--[acceptable|OK|keep link|2nd|second].*--\>)</replace_> <with_>${link1}${inter}{{subst:#ifexist:${ship_type1} ${target1}|{{subst:trim|1=${ship_type2} ${display2}}}|${link2}<!--keep link only if first link red-->}}</with_> <ifContains_>(?<=\*+ *.*[^\[\{\n]*)(\[\[|\{\{)[^\[\{\n]+(\[\[|\{\{)</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>(if) 30+ entries in a row**</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\{\{[Dd]isambiguation cleanup.*)\}\}\<</replace_> <with_>|mosdab=H}}<</with_> <ifContains_>(?<!=* *[Ss]ee also ?:? *=*\n+)(\*+.*\n){30,}</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>(if) 13+ entries in a row*</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\n+)(\n\{\{[Dd](ab|big|is(am)?(b)?(ig)?(uation)?( page)?(?<tags>(\|[^\|]+)*)\}\})|(?<specialtag>\n{\{([Hh]n|[Gg]eo)dis[\|]?[^\}]*\}\}))(?![^\n])</replace_> <with_>${specialtag}\n{{disambiguation cleanup${tags}|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}<!--May require further organization; see WP:LONGDAB--></with_> <ifContains_>(?<!=* *[Ss]ee also ?:? *=*\n+)(\*+.*\n){13,}</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>IgnoreCase</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>but don't duplicate</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<existing>\{\{(([Tt][Oo][Cc]|[Cc]ontents)( float)?[- ]?([Rr]ight|RIGHT)|[Rr]ightTOC)\}\}) *\n*\{\{TOC right\}\}</replace_> <with_>${existing}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> </Children>
<Name>+
if 4+ headers*</Name>
<ruletype_>OnWholePage</ruletype_> <replace_>^(?<pre>[^=]*)(?=(?<!\{\{([Tt][Oo][Cc][ _-]?(float)?[ _-]?[Rr](ight|IGHT)|[Cc]ontents[ _]right|[Rr]ightTOC)\}\}\n+)=[=]+.*=[=]+.*=[=]+.*=[=]+.*=[=]+.*=[=]+.*=[=]+.*=[=]+.*)</replace_>
<with_>${pre}
\n</with_>
<ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>No TOC after first header (NEW 22-01-05)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=(=[=]+.*=[=]+.*))\{\{([Tt][Oo][Cc][ _-]?(float)?[ _-]?[Rr](ight|IGHT)|[Cc]ontents[ _]right|[Rr]ightTOC)\}\}\n</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Remove empty sections</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(==+).*\1\s*\n(?=\1(?!=)|\{\{.*\}\}(?!\s*\n\*))</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Rm ==References==, ==Notes==, and ==External links==</Name> <ruletype_>OnWholePage</ruletype_> <replace_>^(=+|;) *([Rr]eference|[Nn]ote|([Ee]xternal )?[Ll]ink)[s]? *=*\n*$</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>If no other sections, remove ==Other uses==</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<!==.*==.*)(== *Other uses *==\n)</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Merge multiple "Other uses" sections</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=== *[Oo]ther( [Uu]ses)? *==\n*)(?<entries>(\n\*+ *[^\n]+)+)\n*== *[Oo]ther( [Uu]ses)? *==\n*</replace_> <with_>${entries}\n</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Delete "Other uses" header if first section</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<!.*==.*)== *[Oo]ther( [Uu]ses)? *==\n</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> </Children> <Name>(if) L2 orphans to "other uses"</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<!.*==.*)\n*(?<orphans>(\*+ *[^\n]+\n)+)\n*(?<regular_sections>(\{\{.*\}\})?(\n*==+ *(?! *(\{\{subst:ucfirst:)?([Ss]ee|[Pp]eople))[^\n]+ *==+\n*(\n\*+ *[^\n]+)*)+?\n)\n*(?<people_see_also>(\n*== *(\{\{subst:ucfirst:)?([Ss]ee [Aa]lso|[Pp]eople[ \w\}]*) *==\n*(\n\*+ *[^\n]+)+)+\n){0,2}(?=\n*\{\{.*[Dd](AB|ab|big|is(am(b(ig(uation( page)?)?)?)?)?||))</replace_> <with_>\n\n${regular_sections}\n==Other uses==\n${orphans}\n\n${people_see_also}</with_> <ifContains_ /> <ifNotContains_>{{hndis</ifNotContains_> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>(if) L3+ orphans to OU in section*</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<parent>(?<halfhead>={2,})(?<headname>[^=\n]+)\k<halfhead>\n+)(?<orphans>(\*+.+\n)+)\n*(?<subsections>(\n*\k<halfhead>=[^=\n]+=\k<halfhead>\n+(^\*+.+$\n)+)+)(?=\n*(\k<halfhead>[^=]|\{\{))</replace_> <with_>${parent}\n${subsections}\n${halfhead}=Other {{subst:#ifeq:${headname}|Places||uses in }}{{subst:lc:${headname}}}=${halfhead}\n${orphans}</with_> <ifContains_>===</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>(if) Add header on hndis orphans (original)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<!.*==.*)\n*(?<orphans>\*+.+)\n*(?<regular_sections>(\{\{.*\}\})?(\n*== *(?! *([Ss]ee|[Pp]eople))[^\n]+ *==\n*(\n\*+ *[^\n]+)+)+?\n)\n*(?<people_see_also>(\n*== *([Ss]ee [Aa]lso|[Pp]eople[ \w]*) *==\n*(\n\*+ *[^\n]+)+)+\n){0,2}(?=\n*\{\{.*[Dd](AB|ab|big|is(am(b(ig(uation( page)?)?)?)?)?||))</replace_> <with_>\n\n==People==\n${orphans}${regular_sections}\n\n${people_see_also}</with_> <ifContains_>{{hndis</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>false</enabled_> <Children /> <Name>(if) Add header on hndis orphans (simpler)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<!==.*)(?<orphans>\*+.+)\n*(?===(?! *[Ss]ee| *[Pp]eople))</replace_> <with_>==People==\n${orphans}</with_> <ifContains_>{{hndis</ifContains_> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Merge multiple "Other uses" sections</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=== *[Oo]ther( [Uu]ses)? *==\n*)(?<entries>(\n\*+ *[^\n]+)+)\n*== *[Oo]ther( [Uu]ses)? *==\n*</replace_> <with_>${entries}\n</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Delete "Other uses" header if first section</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<!.*==.*)== *[Oo]ther( [Uu]ses)? *==\n</replace_> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Singleline</regexOptions_> </IRule> </Children> <Name>MANAGE ORPHANS AND OUs (placeholder)</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Format ==See also==</Name> <ruletype_>OnWholePage</ruletype_> <replace_>\n+[=\*;]{0,6}(?<space> ?)([Ss]ee )?[Aa]lso\W{0,6}\n+</replace_> <with_>\n\n==${space}See also${space}==\n</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>"Other USES (in)"</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=[;=])Other ?(thing|item|entr(y|ies)|article|page|topic)?s?(?<dab> in .*)(?=[:=\n])</replace_> <with_>Other uses${dab}</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>Multiline</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Standardize "Places" section name</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<===+ *)(Geography|Localities)(?= *==+)</replace_> <with_>Places</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Rename culture sections</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<===+ *)(In )?([Pp]opular )?([Cc]ulture|[Ss]ociety)(?= *==+)</replace_> <with_>Arts and media</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>Avoid "print"</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<===+ *)Print(ed)?( media)?(?= *==+)</replace_> <with_>Literature</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>STANDARDIZE SECTION NAMES (placeholder)</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>If sections are present:*</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_>==</ifContains_> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>true</enabled_> <Children /> <Name>No triple newlines</Name> <ruletype_>OnWholePage</ruletype_> <replace_>\n{3,}</replace_> <with_>\n\n</with_> <ifContains_ /> <ifNotContains_ /> <regex_>true</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> </Children> <Name>If page is a dab:</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_>\{\{(d(ab|big|isam)|[^\[\]\{\}\|]{1,30}d(ab|big|is(?!t))|personal name|dmbox)</ifContains_> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>true</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>IgnoreCase</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>false</enabled_> <Children> <IRule xsi:type="Rule"> <enabled_>false</enabled_> <Name>Sandbox</Name> <ruletype_>OnWholePage</ruletype_> <replace_ /> <with_ /> <ifContains_ /> <ifNotContains_ /> <regex_>false</regex_> <ifIsRegex_>false</ifIsRegex_> <numoftimes_>1</numoftimes_> <ifRegexOptions_>None</ifRegexOptions_> <regexOptions_>None</regexOptions_> </IRule> <IRule xsi:type="Rule"> <enabled_>false</enabled_> <Children /> <Name>(if) Only two entries (NEW)</Name> <ruletype_>OnWholePage</ruletype_> <replace_>(?<=\n+)(\n\{\{[Dd](ab|big|is(am)?(b)?(ig)?(uation)?( page)?\}\})|(?<specialtag>\n{\{([Hh]n|[Gg]eo)dis[\|]?[^\}]*\}\}))(?![^\n])</replace_>
<with_>${specialtag}\n
__DISAMBIG__<!--Only two entries; if one is primary, consider redirecting and leaving a hatnote per WP:TWODABS--></with_>
<ifContains_>(?<=^[^\*]*)\*+ *.*\n\*+ *.*(?=[^\*]*$)</ifContains_>
<ifNotContains_ />
<regex_>true</regex_>
<ifIsRegex_>true</ifIsRegex_>
<numoftimes_>1</numoftimes_>
<ifRegexOptions_>None</ifRegexOptions_>
<regexOptions_>None</regexOptions_>
</IRule>
<IRule xsi:type="Rule">
<enabled_>false</enabled_>
<Children />
<Name>Don't lead with a/an/the (too broad)</Name>
<ruletype_>OnWholePage</ruletype_>
<replace_>(?<=\*+ *)(([Aa]n?|[Tt]he) )</replace_>
<with_ />
<ifContains_ />
<ifNotContains_ />
<regex_>true</regex_>
<ifIsRegex_>false</ifIsRegex_>
<numoftimes_>1</numoftimes_>
<ifRegexOptions_>None</ifRegexOptions_>
<regexOptions_>None</regexOptions_>
</IRule>
<IRule xsi:type="Rule">
<enabled_>false</enabled_>
<Name>ENTRY ORDER (IN PROGRESS - DOABLE?)</Name>
<ruletype_>OnWholePage</ruletype_>
<replace_>\* *['"]*(\[\[([^\]\|]*\|)?)?(\{\{([^\}\|]*\|)?)?(?<name>.*)</replace_>
<with_>{{subst:#ifeq:${name}|{{subst:PAGENAMEBASE}}||}}</with_>
<ifContains_ />
<ifNotContains_ />
<regex_>true</regex_>
<ifIsRegex_>false</ifIsRegex_>
<numoftimes_>1</numoftimes_>
<ifRegexOptions_>None</ifRegexOptions_>
<regexOptions_>None</regexOptions_>
</IRule>
<IRule xsi:type="Rule">
<enabled_>false</enabled_>
<Children />
<Name>Make regex readable</Name>
<ruletype_>OnWholePage</ruletype_>
<replace_>(?<groupcode>(?<!\\)(\((?!\?)|\(\?(\:|\<?[=!]|\<[^\>]*?\>))|(?<!\\)\||(?<!\\)\)([\*\+\?]|\{[\d,]+\})?)</replace_>
<with_>\n${groupcode}\n</with_>
<ifContains_ />
<ifNotContains_ />
<regex_>true</regex_>
<ifIsRegex_>false</ifIsRegex_>
<numoftimes_>1</numoftimes_>
<ifRegexOptions_>None</ifRegexOptions_>
<regexOptions_>None</regexOptions_>
</IRule>
</Children>
<Name>SANDBOX (placeholder)</Name>
<ruletype_>OnWholePage</ruletype_>
<replace_ />
<with_ />
<ifContains_ />
<ifNotContains_ />
<regex_>false</regex_>
<ifIsRegex_>false</ifIsRegex_>
<numoftimes_>1</numoftimes_>
<ifRegexOptions_>None</ifRegexOptions_>
<regexOptions_>None</regexOptions_>
</IRule>
</AdvancedReps>
<SubstTemplates />
<IncludeComments>false</IncludeComments>
<ExpandRecursively>true</ExpandRecursively>
<IgnoreUnformatted>false</IgnoreUnformatted>
</FindAndReplace>
<Editprefs>
<GeneralFixes>false</GeneralFixes>
<Tagger>false</Tagger>
<Unicodify>false</Unicodify>
<Recategorisation>0</Recategorisation>
<NewCategory />
<NewCategory2 />
<ReImage>0</ReImage>
<ImageFind />
<Replace />
<SkipIfNoCatChange>false</SkipIfNoCatChange>
<RemoveSortKey>false</RemoveSortKey>
<SkipIfNoImgChange>false</SkipIfNoImgChange>
<AppendText>false</AppendText>
<AppendTextMetaDataSort>false</AppendTextMetaDataSort>
<Append>true</Append>
<Text />
<Newlines>2</Newlines>
<AutoDelay>10</AutoDelay>
<BotMaxEdits>0</BotMaxEdits>
<SupressTag>false</SupressTag>
<RegexTypoFix>false</RegexTypoFix>
</Editprefs>
<General>
<AutoSaveEdit>
<Enabled>false</Enabled>
<SavePeriod>30</SavePeriod>
<SaveFile />
</AutoSaveEdit>
<SelectedSummary>Dab cleanup+style sync per WP:DDD etc.</SelectedSummary>
<Summaries>
<string>Dab cleanup+style sync per WP:DDD etc.</string>
</Summaries>
<PasteMore>
<string><!--second link ok--></string>
<string />
<string />
<string />
<string />
<string />
<string />
<string />
<string />
<string />
</PasteMore>
<FindText>dababy</FindText>
<FindRegex>false</FindRegex>
<FindCaseSensitive>false</FindCaseSensitive>
<WordWrap>true</WordWrap>
<ToolBarEnabled>false</ToolBarEnabled>
<BypassRedirect>true</BypassRedirect>
<AutoSaveSettings>false</AutoSaveSettings>
<noSectionEditSummary>false</noSectionEditSummary>
<restrictDefaultsortAddition>true</restrictDefaultsortAddition>
<restrictOrphanTagging>true</restrictOrphanTagging>
<noMOSComplianceFixes>false</noMOSComplianceFixes>
<syntaxHighlightEditBox>true</syntaxHighlightEditBox>
<highlightAllFind>false</highlightAllFind>
<PreParseMode>false</PreParseMode>
<NoAutoChanges>false</NoAutoChanges>
<OnLoadAction>0</OnLoadAction>
<DiffInBotMode>false</DiffInBotMode>
<Minor>true</Minor>
<AddToWatchlist>2</AddToWatchlist>
<TimerEnabled>false</TimerEnabled>
<SortListAlphabetically>true</SortListAlphabetically>
<AddIgnoredToLog>false</AddIgnoredToLog>
<EditToolbarEnabled>true</EditToolbarEnabled>
<filterNonMainSpace>false</filterNonMainSpace>
<AutoFilterDuplicates>true</AutoFilterDuplicates>
<FocusAtEndOfEditBox>false</FocusAtEndOfEditBox>
<scrollToUnbalancedBrackets>false</scrollToUnbalancedBrackets>
<TextBoxSize>10</TextBoxSize>
<TextBoxFont>Courier New</TextBoxFont>
<LowThreadPriority>false</LowThreadPriority>
<Beep>false</Beep>
<Flash>false</Flash>
<Minimize>false</Minimize>
<LockSummary>false</LockSummary>
<SaveArticleList>true</SaveArticleList>
<SuppressUsingAWB>false</SuppressUsingAWB>
<AddUsingAWBToActionSummaries>false</AddUsingAWBToActionSummaries>
<IgnoreNoBots>false</IgnoreNoBots>
<ClearPageListOnProjectChange>false</ClearPageListOnProjectChange>
<SortInterWikiOrder>true</SortInterWikiOrder>
<ReplaceReferenceTags>true</ReplaceReferenceTags>
<LoggingEnabled>true</LoggingEnabled>
<AlertPreferences>
<int>1</int>
<int>2</int>
<int>3</int>
<int>4</int>
<int>5</int>
<int>6</int>
<int>7</int>
<int>8</int>
<int>9</int>
<int>10</int>
<int>11</int>
<int>12</int>
<int>13</int>
<int>14</int>
<int>15</int>
<int>16</int>
<int>17</int>
<int>18</int>
<int>19</int>
<int>20</int>
<int>21</int>
<int>22</int>
</AlertPreferences>
</General>
<SkipOptions>
<SkipNonexistent>true</SkipNonexistent>
<Skipexistent>false</Skipexistent>
<SkipDontCare>false</SkipDontCare>
<SkipWhenNoChanges>true</SkipWhenNoChanges>
<SkipSpamFilterBlocked>false</SkipSpamFilterBlocked>
<SkipInuse>false</SkipInuse>
<SkipWhenOnlyWhitespaceChanged>true</SkipWhenOnlyWhitespaceChanged>
<SkipOnlyGeneralFixChanges>true</SkipOnlyGeneralFixChanges>
<SkipOnlyMinorGeneralFixChanges>false</SkipOnlyMinorGeneralFixChanges>
<SkipOnlyCosmetic>false</SkipOnlyCosmetic>
<SkipOnlyCasingChanged>false</SkipOnlyCasingChanged>
<SkipIfRedirect>false</SkipIfRedirect>
<SkipIfNoAlerts>false</SkipIfNoAlerts>
<SkipDoes>false</SkipDoes>
<SkipDoesText />
<SkipDoesRegex>false</SkipDoesRegex>
<SkipDoesCaseSensitive>false</SkipDoesCaseSensitive>
<SkipDoesAfterProcessing>false</SkipDoesAfterProcessing>
<SkipDoesNot>false</SkipDoesNot>
<SkipDoesNotText />
<SkipDoesNotRegex>false</SkipDoesNotRegex>
<SkipDoesNotCaseSensitive>false</SkipDoesNotCaseSensitive>
<SkipDoesNotAfterProcessing>false</SkipDoesNotAfterProcessing>
<SkipNoFindAndReplace>false</SkipNoFindAndReplace>
<SkipMinorFindAndReplace>true</SkipMinorFindAndReplace>
<SkipNoRegexTypoFix>false</SkipNoRegexTypoFix>
<SkipNoDisambiguation>false</SkipNoDisambiguation>
<SkipNoLinksOnPage>false</SkipNoLinksOnPage>
<GeneralSkipList />
</SkipOptions>
<Module>
<Enabled>false</Enabled>
<Language>C# 3.5</Language>
public string ProcessArticle(string ArticleText, string ArticleTitle, int wikiNamespace, out string Summary, out bool Skip)
{
Skip = false;
Summary = "test";
ArticleText = "test \r\n\r\n" + ArticleText;
return ArticleText;
}
</Module>
<ExternalProgram>
<Enabled>false</Enabled>
<Skip>false</Skip>
<Program />
<Parameters />
<PassAsFile>true</PassAsFile>
<OutputFile />
</ExternalProgram>
<Disambiguation>
<Enabled>false</Enabled>
<Link />
<Variants />
<ContextChars>20</ContextChars>
</Disambiguation>
<Special>
<namespaceValues />
<remDupes>true</remDupes>
<sortAZ>true</sortAZ>
<filterTitlesThatContain>false</filterTitlesThatContain>
<filterTitlesThatContainText />
<filterTitlesThatDontContain>false</filterTitlesThatDontContain>
<filterTitlesThatDontContainText />
<areRegex>false</areRegex>
<opType>0</opType>
<remove />
</Special>
<Tool>
<ListComparerUseCurrentArticleList>0</ListComparerUseCurrentArticleList>
<ListSplitterUseCurrentArticleList>0</ListSplitterUseCurrentArticleList>
<DatabaseScannerUseCurrentArticleList>0</DatabaseScannerUseCurrentArticleList>
</Tool>
<Plugin />
</AutoWikiBrowserPreferences> </syntaxhighlight>