family = 'wiktionary' mylang = 'de' usernames = 'BetterkBot' minthrottle = 1 maxthrottle = 60 put_throttle = 60
After login and typing at commandline "replace.py -page:Benutzer:BetterkBot/Bottest"
text that should be replaced: "Deklination"
new text: "Konjugation"
summary default message: Enter
I've got the help information from replace.py without changing the page.
Pywikipedia (r9675 (wikipedia.py), 2011/10/26, 08:57:14) Python 2.7.2 (default, Jun 12 2011, 15:08:59) config-settings: use_api = True use_api_login = True unicode test: ok
Traceback (most recent call last): File "C:\Programme\pywikipediabot\add_text.py", line 413, in <module> main() File "C:\Programme\pywikipediabot\add_text.py", line 395, in main 'You have to specify the generator you want to use for the script!') __main__.NoEnoughData: You have to specify the generator you want to use for the script!
Ich arbeite mit einer modifizierten Datei replace.py wie sie hier zu sehen ist, wobei zwei Zeilen anzupassen sind:
replacements.append((u'zu ersetzender Ausdruck',u'ersetzter Ausdruck'))
wikipedia.setAction(u'Text der Zusammenfassungszeile')
Ausdrücke werden mit Regulären Ausdrücken manipuliert. Eine gute Hilfe dazu liefern die Seiten www.regenechsen.de, www.gnosis.cx oder am besten das Buch Reguläre Ausdrücke/Regular Expressions von Jeffrey Friedl. Testen kann man eine solche Regex z.B. mit www.rubular.com live.
Mein Betreiber meint, ich solle einmal mit einfachen Ersetzungsaufgaben beginnen, wie z.B das Ersetzen des Hochkommas in Einbindungen der Vorlage:Lautschrift in Einträgen durch das richtige Betonungszeichen (U+02C8). Nun gut.
replacements.append((u'Lautschrift\|(*?)\'',u'Lautschrift|\\1ˈ')) replacements.append((u'Lautschrift\|(*?)\'',u'Lautschrift|\\1ˈ')) replacements.append((u'Lautschrift\|(*?)\'',u'Lautschrift|\\1ˈ')) replacements.append((u'Lautschrift\|(*?)\'',u'Lautschrift|\\1ˈ'))
python _IPA_Apostr.py -xml:"C:\Pfad\DumpFiles\dewiktionary-20111028-pages-articles.xml" -regex -namespace:0 -always #-xmlstart:XY
Das Starten des Programms muss im entsprechenden Verzeichnis \PyWikipediaBot
erfolgen; sonst erscheint eine Fehlermeldung wie:
SyntaxError: invalid syntax
Erhält man eine Fehlermeldung wie
Traceback (most recent call last): File "C:\Programme\PyWikipediaBot\pagegenerators.py", line 1185, in __iter__ for page in self.wrapped_gen: File "C:\Programme\PyWikipediaBot\pagegenerators.py", line 1039, in NamespaceFilterPageGenerator for page in generator: File "_IPA_Apostr.py", line 207, in __iter__ for entry in self.parser: File "C:\Programme\PyWikipediaBot\xmlreader.py", line 313, in new_parse for event, elem in context: File "<string>", line 84, in next ParseError: not well-formed (invalid token): line 1311532, column 14 not well-formed (invalid token): line 1311532, column 14
dann ist die .xml Datei möglicherweise korrupt und ist zu erneuern.
replacements.append((u'Tschechisch Adjektiv Deklinationsseite hart\n\|S*?=(\w*)(\w)(\w)',u'Tschechisch Adjektiv Deklination|\\1|\\2|\\3|ý}}')) replacements.append((u'\|M Plural belebt*',u''))
== možný (Deklination) ({{Adjektivdeklination|Tschechisch}}) == {{Tschechisch Adjektiv Deklinationsseite hart |Stamm =možn |M Plural belebt=možní |Komparativ =možnější }}
== možný (Deklination) ({{Adjektivdeklination|Tschechisch}}) == {{Tschechisch Adjektiv Deklination|mo|ž|n|ý}}
python _CsVorlAdjDekl.py -xml:"C:\Pfad\DumpFiles\dewiktionary-20111028-pages-articles.xml" -regex -namespace:0 -always
Es werden einige Aufgaben gleichzeitig erledigt
{{Sprache|De
“ enthalten: replacements.append((u'Lautschrift\|(*?),\s',u'Lautschrift|\\1}}, {{Lautschrift|')) replacements.append((u'Lautschrift\|(*?),\s',u'Lautschrift|\\1}}, {{Lautschrift|')) replacements.append((u'Lautschrift\|(*?),\s',u'Lautschrift|\\1}}, {{Lautschrift|')) replacements.append((u'Lautschrift\|(*?),\s',u'Lautschrift|\\1}}, {{Lautschrift|')) replacements.append((u'Lautschrift\|(*?),\s',u'Lautschrift|\\1}}, {{Lautschrift|')) replacements.append((u'Lautschrift\|(*?)\'',u'Lautschrift|\\1ˈ')) 3x replacements.append((u'Lautschrift\|(*?):',u'Lautschrift|\\1ː')) 3x replacements.append((u'Lautschrift\|(*?)g',u'Lautschrift|\\1ɡ')) 3x replacements.append((u'Lautschrift\|(*?)x',u'Lautschrift|\\1χ')) 3x replacements.append((u'Lautschrift\|(*?)ɘ',u'Lautschrift|\\1ə')) 3x replacements.append((u'Lautschrift\|(*?)ˀ',u'Lautschrift|\\1ʔ')) 3x replacements.append((u'Lautschrift\|(*?)ʰ',u'Lautschrift|\\1')) 3x
Bild1-5, BBreite, BBreite1-5, BBezug1-5, BBeschreibung1-5 -> Bild 1...
replacements.append((u'\{\{Englisch Substantiv Ü(*)Bild1(*)\}\}',u'{{Englisch Substantiv Ü\\1Bild 1\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)BBreite(*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbreite\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)BBezug1(*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbezug 1\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)BBeschreibung1(*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbeschreibung 1\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)Bild2(*)\}\}',u'{{Englisch Substantiv Ü\\1Bild 2\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)BBezug2(*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbezug 2\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)BBeschreibung2(*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbeschreibung 2\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)Bild3(*)\}\}',u'{{Englisch Substantiv Ü\\1Bild 3\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)BBezug3(*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbezug 3\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)BBeschreibung3(*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbeschreibung 3\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)Bild4(*)\}\}',u'{{Englisch Substantiv Ü\\1Bild 4\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)BBezug4(*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbezug 4\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)BBeschreibung4(*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbeschreibung 4\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)Bild5(*)\}\}',u'{{Englisch Substantiv Ü\\1Bild 5\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)BBezug5(*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbezug 5\\2}}')) replacements.append((u'\{\{Englisch Substantiv Ü(*)BBeschreibung5(*)\}\}',u'{{Englisch Substantiv Ü\\1Bildbeschreibung 5\\2}}'))
_enSubstBildparam.py
replacements.append((u'\{\{(*) (Substantiv) Ü(|\<|\>|\#|/|\—]*)Singular(?:\s)?=(?:\s)?\{\{fehlend\}\}(|\<|\>|\#|/|\—|\{|\}]*)\{\{Silbentr',u'{{\\1 \\2 Ü\\3Singular=—\\4{{Silbentr')) ... replacements.append((u'\{\{(*) (Substantiv) Ü(|\<|\>|\#|/|\—]*)Plural(?:\s)?=(?:\s)?\{\{fehlend\}\}(|\<|\>|\#|/|\—|\{|\}]*)\{\{Silbentr',u'{{\\1 \\2 Ü\\3Plural=—\\4{{Silbentr')) ... replacements.append((u'\{\{(*) (Substantiv) Ü(|\<|\>|\#|/|\—]*)Komparativ(?:\s)?=(?:\s)?\{\{fehlend\}\}(|\<|\>|\#|/|\—|\{|\}]*)\{\{Silbentr',u'{{\\1 \\2 Ü\\3Komparativ=—\\4{{Silbentr')) ... replacements.append((u'\{\{(*) (Substantiv) Ü(|\<|\>|\#|/|\—]*)Superlativ(?:\s)?=(?:\s)?\{\{fehlend\}\}(|\<|\>|\#|/|\—|\{|\}]*)\{\{Silbentr',u'{{\\1 \\2 Ü\\3Superlativ=—\\4{{Silbentr')) ... replacements.append((u'\{\{(*) (Substantiv) Ü(|\<|\>|\#|/|\—]*)Bestimmt(?:\s)?=(?:\s)?\{\{fehlend\}\}(|\<|\>|\#|/|\—|\{|\}]*)\{\{Silbentr',u'{{\\1 \\2 Ü\\3Bestimmt=—\\4{{Silbentr')) ...
replacements.append((u'(\{\{Deutsch\sSubstantiv\s)m\ssc*\n\|SINGULAR=(*)\n\|PLURAL=(*)\n\|BILD=(|\<|\>|\#|\/|\—]*)\s\n\|BILDBREITE=(*)\s\n\|BILDBEZUG=(*)\s\n\|BILDBESCHREIBUNG=(*)\}\}',u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\3\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\3\n|Dativ Plural=den \\3\n|Akkusativ Singular=den \\3\n|Akkusativ Plural=die \\3\n}}')) replacements.append((u'(\{\{Deutsch\sSubstantiv\s)m\ssc*\n\|SINGULAR=(*)\n\|PLURAL=(*)\}\}',u'\\1Übersicht\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3|Genitiv Singular=des \\3|Genitiv Plural=der \\3|Dativ Singular=dem \\3|Dativ Plural=den \\3|Akkusativ Singular=den \\3|Akkusativ Plural=die \\3}}'))
replacements.append((u'\{\{Konjunktionen\}\}',u'{{Konjunktionen (Deutsch)}}'))
replacements.append((u'\{\{Präpositionen\}\}',u'{{Präpositionen (Deutsch)}}')) replacements.append((u'\{\{Vorlage:Präpositionen\}\}',u'{{Präpositionen (Deutsch)}}'))
replacements.append((u'(\{\{Englisch\sAdjektiv\sÜ*\n\|Positiv)e(=*\n\|)C(omparativ)e(=*\n\|Superlativ)e(=*\n\}\})',u'\\1\\2K\\3\\4\\5'))
python _enVorlAdjU.py -xml:"C:\Pfad\dewiktionary-20120111-pages-articles.xml" -regex -namespace:0
replacements.append((u'(\{\{Englisch\sVerb\sÜ*\n\|Bild)1',u'\\1 1'))
python replace.py -regex -ns:0 -dotall -family:wiktionary -lang:de -cat:Verb_(Deutsch) -ref:Vorlage:Verb-Tabelle -summary:"Bild1 -> Bild 1" -xml:"C:\Pfad\dewiktionary-20120111-pages-articles.xml" "{{Verb-Tabelle(.*?)(Bild)(\d)(.*?)}}" "{{Verb-Tabelle\1\2 \3\4}}" "{{Verb-Tabelle(.*?)(Bild)(\d)(.*?)}}" "{{Verb-Tabelle\1\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(reite)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(reite)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(ezug)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(ezug)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(eschreibung)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}" "{{Verb-Tabelle(.*?)BB(eschreibung)(\d)(.*?)}}" "{{Verb-Tabelle\1Bildb\2 \3\4}}"
Da die Handhabung des immer komplizierter werdenden Bots über die Kommandozeile sehr mühsam ist und diese außerdem in der Zeichenanzahl begrenzt ist, arbeite ich nun mit der effizienteren und flexibleren Datei user-fixes.py, die eine etwas andere Syntax hat, weshalb Kenntnisse in Python von Vorteil sind. In dieser Datei werden alle verwendeten Botprogramme/Botläufe unter einem zu wählenden Botnamen gespeichert unter welchem man sie jederzeit wiederholt laufen lassen kann.
fixes = { 'regex': True, #'dotall': True, #funzt hier nicht 'msg': { 'de':u'Bot: Bildparameter plAdjektivÜbersicht', }, 'replacements': [ #BILD -> Bild (ur'({{Polnisch Adjektiv Ü.*?)BILD(.*?}})', u'\\1Bild\\2'), #BILDBREITE -> Bildbreite (ur'({{Polnisch Adjektiv Ü.*?)BILDBREITE(.*?}})', u'\\1Bildbreite\\2'), #BILDBEZUG -> Bildbezug (ur'({{Polnisch Adjektiv Ü.*?)BILDBEZUG(.*?}})', u'\\1Bildbezug\\2'), #BILDBESCHREIBUNG -> Bildbeschreibung (ur'({{Polnisch Adjektiv Ü.*?)BILDBESCHREIBUNG(.*?}})', u'\\1Bildbeschreibung\\2'), ] }
python replace.py -ns:0 -dotall -xml:"C:\Pfad\dewiktionary-20120111-pages-articles.xml" -fix:plAdjUBildparam
ändert in den Einträgen den Vorlagennamen und schreibt „S.“ aus
(ur'{{Literaturliste\|Burkart, Vornamen}}(.*?)S\.(.*?)\n', u'{{Lit-Burkart: Vornamen}}\\1Seite\\2\n'), (ur'{{Literaturliste\|Burkart, Vornamen}}(.*?)\n', u'{{Lit-Burkart: Vornamen}}\\1\n'),
python replace.py -ns:0 -dotall -xml:"C:\Pfad\dewiktionary-20120111-pages-articles.xml" -fix:Lit-Burkart
#Bild1 -> Bild 1 (ur'({{Französisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'), #BBreite1 -> Bildbreite 1 (ur'({{Französisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'), #BBezug1 -> Bildbezug 1 (ur'({{Französisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'), #BBeschreibung1 -> Bildbeschreibung 1 (ur'({{Französisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'), #Bild2 usw., Bild3 usw. (ur'({{Französisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'), (ur'({{Französisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'), (ur'({{Französisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'), (ur'({{Französisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'), (ur'({{Französisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'), (ur'({{Französisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'), (ur'({{Französisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'), (ur'({{Französisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'), #BBreite -> Bildbreite (ur'({{Französisch Substantiv Ü.*?)BBreite=(.*?}})', u'\\1Bildbreite=\\2'),
#Bild1 -> Bild 1 (ur'({{Englisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'), #BBreite1 -> Bildbreite 1 (ur'({{Englisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'), #BBezug1 -> Bildbezug 1 (ur'({{Englisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'), #BBeschreibung1 -> Bildbeschreibung 1 (ur'({{Englisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'), #Bild2 usw., Bild3 usw. (ur'({{Englisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'), (ur'({{Englisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'), (ur'({{Englisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'), (ur'({{Englisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'), (ur'({{Englisch Substantiv Ü.*?)Bild(\d.*?}})', u'\\1Bild \\2'), (ur'({{Englisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'), (ur'({{Englisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'), (ur'({{Englisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'), #BBreite -> Bildbreite (ur'({{Englisch Substantiv Ü.*?)BBreite=(.*?}})', u'\\1Bildbreite=\\2'),
#BILD2 -> Bild 2 (ur'({{Polnisch Substantiv Ü.*?)BILD2(.*?}})', u'\\1Bild 2\\2'), #BILDBREITE2 -> Bildbreite 2; Bildbreite=210.px -> Bildbreite=210px (ur'({{Polnisch Substantiv Ü.*?)BILDBREITE2(.*?)(\.)??px(.*?}})', u'\\1Bildbreite 2\\2px\\4'), #BILDBEZUG2 -> Bildbezug 2 (ur'({{Polnisch Substantiv Ü.*?)BILDBEZUG2(.*?}})', u'\\1Bildbezug 2\\2'), #BILDBESCHREIBUNG -> Bildbeschreibung (ur'({{Polnisch Substantiv Ü.*?)BILDBESCHREIBUNG2(.*?}})', u'\\1Bildbeschreibung 2\\2'), (ur'({{Polnisch Substantiv Ü.*?)BILD(.*?}})', u'\\1Bild\\2'), (ur'({{Polnisch Substantiv Ü.*?)BILDBREITE(.*?)(\.)??px(.*?}})', u'\\1Bildbreite\\2px\\4'), (ur'({{Polnisch Substantiv Ü.*?)BILDBEZUG(.*?}})', u'\\1Bildbezug\\2'), (ur'({{Polnisch Substantiv Ü.*?)BILDBESCHREIBUNG(.*?}})', u'\\1Bildbeschreibung\\2'),
#Bild1 -> Bild 1 (ur'({{Lateinisch Substantiv Ü.*?Bild)(\d.*?}})', u'\\1 \\2'), #BBreite1 -> Bildbreite 1 (ur'({{Lateinisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'), #BBezug1 -> Bildbezug 1 (ur'({{Lateinisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'), #BBeschreibung1 -> Bildbeschreibung 1 (ur'({{Lateinisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'), #Bild2 usw., Bild3 usw. (ur'({{Lateinisch Substantiv Ü.*?Bild)(\d.*?}})', u'\\1 \\2'), (ur'({{Lateinisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'), (ur'({{Lateinisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'), (ur'({{Lateinisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'), (ur'({{Lateinisch Substantiv Ü.*?Bild)(\d.*?}})', u'\\1 \\2'), (ur'({{Lateinisch Substantiv Ü.*?)BBreite(\d.*?}})', u'\\1Bildbreite \\2'), (ur'({{Lateinisch Substantiv Ü.*?)BBezug(\d.*?}})', u'\\1Bildbezug \\2'), (ur'({{Lateinisch Substantiv Ü.*?)BBeschreibung(\d.*?}})', u'\\1Bildbeschreibung \\2'), #BBreite -> Bildbreite (ur'({{Lateinisch Substantiv Ü.*?)BBreite=(.*?}})', u'\\1Bildbreite=\\2'),
(ur'{{Literaturliste\|(Großes Wörterbuch Esperanto-Deutsch}}.*?)\n', u'{{Lit-Krause: \\1\n'),
# SG=, PL=leer, GENITIV-E=0, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR= (ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=(*?)\s*\|PLURAL=\s*\|GENITIV-E=0\s*\|BILD=(*?)\s*\|BILDBREITE=(*?)\s*\|BILDBEZUG=(*?)\s*\|BILDBESCHREIBUNG=(*?)\s*}}', u'\\1Übersicht\n|Bild=\\3|\\4|\\5|\\6\n|Nominativ Singular=der \\2\n|Nominativ Plural=—\n|Genitiv Singular=des \\2s\n|Genitiv Plural=—\n|Dativ Singular=dem \\2\n|Dativ Plural=—\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=—\n}}'), # SG=, PL=nicht leer, GENITIV-E=0, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR= (ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=0\s*\|BILD=(*?)\s*\|BILDBREITE=(*?)\s*\|BILDBEZUG=(*?)\s*\|BILDBESCHREIBUNG=(*?)\s*}}', u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, GENITIV-E=1, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR= (ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=1\s*\|BILD=(*?)\s*\|BILDBREITE=(*?)\s*\|BILDBEZUG=(*?)\s*\|BILDBESCHREIBUNG=(*?)\s*}}', u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, GENITIV-E=0, ENDUNGS-N=1, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR= (ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=0\s*\|ENDUNGS-N=1\s*\|BILD=(*?)\s*\|BILDBREITE=(*?)\s*\|BILDBEZUG=(*?)\s*\|BILDBESCHREIBUNG=(*?)\s*}}', u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR= (ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|BILD=(*?)\s*\|BILDBREITE=(*?)\s*\|BILDBEZUG=(*?)\s*\|BILDBESCHREIBUNG=(*?)\s*}}', u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s<br />des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, GENITIV-E=0, ENDUNGS-N=1 (ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=0\s*\|ENDUNGS-N=1\s*}}', u'\\1Übersicht\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, GENITIV-E=0 (ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=0\s*}}', u'\\1Übersicht\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, GENITIV-E=1 (ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=1\s*}}', u'\\1Übersicht\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer (ur'({{Deutsch Substantiv )m stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*}}', u'\\1Übersicht\n|Nominativ Singular=der \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s<br />des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=den \\2\n|Akkusativ Plural=die \\3\n}}'),
(ur'({{Deutsch adjektivische.*?)BILD', u'\\1Bild'), (ur'({{Deutsch adjektivische.*?)BILD2', u'\\1Bild 2'), (ur'({{Deutsch adjektivische.*?)BILDBREITE', u'\\1Bildbreite'), (ur'({{Deutsch adjektivische.*?)BILDBREITE2', u'\\1Bildbreite 2'), (ur'({{Deutsch adjektivische.*?)BILDBEZUG', u'\\1Bildbezug'), (ur'({{Deutsch adjektivische.*?)BILDBEZUG2', u'\\1Bildbezug 2'), (ur'({{Deutsch adjektivische.*?)BILDBESCHREIBUNG', u'\\1Bildbeschreibung'), (ur'({{Deutsch adjektivische.*?)BILDBESCHREIBUNG2', u'\\1Bildbeschreibung 2'),
# SG=, PL=leer, GENITIV-E=0, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR= (ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=(*?)\s*\|PLURAL=\s*\|GENITIV-E=0\s*\|BILD=(*?)\s*\|BILDBREITE=(*?)\s*\|BILDBEZUG=(*?)\s*\|BILDBESCHREIBUNG=(*?)\s*}}', u'\\1Übersicht\n|Bild=\\3|\\4|\\5|\\6\n|Nominativ Singular=das \\2\n|Nominativ Plural=—\n|Genitiv Singular=des \\2s\n|Genitiv Plural=—\n|Dativ Singular=dem \\2\n|Dativ Plural=—\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=—\n}}'), # SG=, PL=nicht leer, GENITIV-E=0, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR= (ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=0\s*\|BILD=(*?)\s*\|BILDBREITE=(*?)\s*\|BILDBEZUG=(*?)\s*\|BILDBESCHREIBUNG=(*?)\s*}}', u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, GENITIV-E=1, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR= (ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=1\s*\|BILD=(*?)\s*\|BILDBREITE=(*?)\s*\|BILDBEZUG=(*?)\s*\|BILDBESCHREIBUNG=(*?)\s*}}', u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, GENITIV-E=0, ENDUNGS-N=1, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR= (ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=0\s*\|ENDUNGS-N=1\s*\|BILD=(*?)\s*\|BILDBREITE=(*?)\s*\|BILDBEZUG=(*?)\s*\|BILDBESCHREIBUNG=(*?)\s*}}', u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, BILD=, BILDBR=, BILDBEZ=, BILDBESCHR= (ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|BILD=(*?)\s*\|BILDBREITE=(*?)\s*\|BILDBEZUG=(*?)\s*\|BILDBESCHREIBUNG=(*?)\s*}}', u'\\1Übersicht\n|Bild=\\4|\\5|\\6|\\7\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s<br />des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, GENITIV-E=0, ENDUNGS-N=1 (ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=0\s*\|ENDUNGS-N=1\s*}}', u'\\1Übersicht\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, GENITIV-E=0 (ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=0\s*}}', u'\\1Übersicht\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer, GENITIV-E=1 (ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*\|GENITIV-E=1\s*}}', u'\\1Übersicht\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'), # SG=, PL=nicht leer (ur'({{Deutsch Substantiv )n stark\s*\|SINGULAR=(*?)\s*\|PLURAL=(+*?)\s*}}', u'\\1Übersicht\n|Nominativ Singular=das \\2\n|Nominativ Plural=die \\3\n|Genitiv Singular=des \\2s<br />des \\2es\n|Genitiv Plural=der \\3\n|Dativ Singular=dem \\2<br />dem \\2e\n|Dativ Plural=den \\3n\n|Akkusativ Singular=das \\2\n|Akkusativ Plural=die \\3\n}}'),
(ur'{{Literaturliste\|WöbuCatOcc\|sup=2005}}, p\.', u'{{Lit-Balaguer: Diccionari Català - Occità / Occitan - Catalan}}, Seite'), (ur'{{Literaturliste\|WöbuCatOcc\|sup=2005', u'{{Lit-Balaguer: Diccionari Català - Occità / Occitan - Catalan'),
(ur'{{Literaturliste\|WöbuOccAng\|sup=2006}}(.*?)\.( \d)', u'{{Lit-Furness: Diccionari Occitan - Anglés / English - Occitan}}\\1Seite\\2'), (ur'{{Literaturliste\|WöbuOccAng\|sup=2006', u'{{Lit-Furness: Diccionari Occitan - Anglés / English - Occitan'),
#entferne {Ähnlichkeiten} mit folgendem Doppelpunkt, falls leer (ur'(.*?)\s\n{{Ähnlichkeiten}}\s\n:( )?', u'\\1'), #entferne alle Leerstellen am Zeilenende, {außer nach "]" (wegen ": ") (ur'(.*?*?])\s*?(\n)', u'\\1\\2'), #entferne Kommentar (ur'(.*?)<!-- /Flexionstabelle\n/-->\n', u'\\1'), #-> genau eine Zeile vor Textbausteinen (außer 'Refs prüfen') sowie vor Flexvorlagen der wichtigsten Sprachen, nicht mehr und nicht weniger (ur'(.*?)\s*?\n{{(Anmerkung|Alternative Schreibweisen|Nebenformen|Silbentrennung|Aussprache|Bedeutungen|Abkürzungen|Herkunft|Synonyme|Gegenwörter|Oberbegriffe|Unterbegriffe|Beispiele|Redewendungen|Sprichwörter|Charakteristische Wortkombinationen|Abgeleitete Begriffe|Referenzen}|Grammatische Merkmale|Grundformverweis|Quellen|Ähnlichkeiten|Adjektiv-Tabelle|Verb-Tabelle|Deutsch|Englisch|Italienisch|Französisch|Polnisch|Katalanisch|Lateinisch|Okzitanisch|Tschechisch|Spanisch|Ungarisch)', u'\\1\n\n{{\\2'), #entferne Leerstelle nach {Ähnlichkeiten} zw ":" und [[ (ur'({{Ähnlichkeiten}}\s*:)\s?\[', u'\\1['), #{Literaturliste|Stowasser|sup=1998} -> {Lit-Stowasser: Lateinisch-Deutsches Schulwörterbuch|A=1994} #ersetze p. durch Seite; ersetze S. durch Seite (ur'{{Literaturliste\|Stowasser\|sup=1998}}(.*?\s)\.( \d)', u'{{Lit-Stowasser: Lateinisch-Deutsches Schulwörterbuch|A=1994}}\\1Seite\\2'), (ur'{{Literaturliste\|Stowasser\|sup=1998', u'{{Lit-Stowasser: Lateinisch-Deutsches Schulwörterbuch|A=1994'),
python replace.py -ns:0 -dotall -fix:Lit-Stowasser -transcludes:"!!Stowasser1998"
#enthält {Ref-Grimm} 3 Punkte und kein ßäöüÄÖÜ, entferne die Punkte (ur'({{Ref-Grimm\|+?)\|\.\.\.}}', u'\\1}}'), #enthält {Ref-Grimm} ein 'ßäöüÄÖÜ' und 3 Punkte, ersetze es durch 'sz|ae|oe|ue|Ae|Oe|Ue' und entferne die Punkte (ur'({{Ref-Grimm\|*?)ß(*?)\|\.\.\.}}', u'\\1sz\\2}}'), (ur'({{Ref-Grimm\|*?)ä(*?)\|\.\.\.}}', u'\\1ae\\2}}'), (ur'({{Ref-Grimm\|*?)ö(*?)\|\.\.\.}}', u'\\1oe\\2}}'), (ur'({{Ref-Grimm\|*?)ü(*?)\|\.\.\.}}', u'\\1ue\\2}}'), (ur'({{Ref-Grimm\|*?)Ä(*?)\|\.\.\.}}', u'\\1Ae\\2}}'), (ur'({{Ref-Grimm\|*?)Ö(*?)\|\.\.\.}}', u'\\1Oe\\2}}'), (ur'({{Ref-Grimm\|*?)Ü(*?)\|\.\.\.}}', u'\\1Ue\\2}}'), #entferne {Ähnlichkeiten} mit folgendem Doppelpunkt, falls leer und nicht am Seitenende (ur'(.*?)\s\n{{Ähnlichkeiten}}\s\n:', u'\\1'), #entferne alle Leerstellen am Zeilenende (ur'(.*?*?])\s*?(\n)', u'\\1\\2'), #entferne Kommentar, Kategorie (ur'(.*?)<!-- /Flexionstabelle\n/-->\n', u'\\1'), #-> genau eine Zeile vor Textbausteinen sowie vor Flexvorlagen der wichtigsten Sprachen, nicht mehr und nicht weniger (ur'(.*?)\s*?\n{{(Anmerkung|Alternative Schreibweisen|Nebenformen|Silbentrennung|Aussprache|Bedeutungen|Abkürzungen|Herkunft|Synonyme|Gegenwörter|Oberbegriffe|Unterbegriffe|Beispiele|Redewendungen|Sprichwörter|Charakteristische Wortkombinationen|Abgeleitete Begriffe|Referenzen}|Grammatische Merkmale|Grundformverweis|Quellen|Ähnlichkeiten|Adjektiv-Tabelle|Verb-Tabelle|Deutsch|Englisch|Italienisch|Französisch|Polnisch|Katalanisch|Lateinisch|Okzitanisch|Tschechisch|Spanisch|Ungarisch)', u'\\1\n\n{{\\2'), #entferne Leerstelle nach {Ähnlichkeiten} zw ":" und ] (ur'({{Ähnlichkeiten}}\s*:)\s?\[', u'\\1['), #{Literaturliste|Mittellateinisches Glossar|sup=1959} -> {Lit-Habel: Mittellateinisches Glossar|A=2} #ersetze p. durch Seite; ersetze S. durch Seite (ur'{{Literaturliste|Kluge|sup=24}}(.*? )\.( \d)', u'{{Lit-Kluge: Etymologisches Wörterbuch|A=24}}\\1Seite\\2'), (ur'{{Literaturliste|Kluge|sup=24', u'{{Lit-Kluge: Etymologisches Wörterbuch|A=24'),
python replace.py -ns:0 -dotall -fix:Lit-Kluge -transcludes:"!!Kluge24"
(ur'(===*?)\, ??({{kPl.}}|\'\'kein Plural\'\')(*?===.*?ilbentrennung}} ??\s\n:*?)(\,? {{kPl.}} ??)?\s\n', u'\\1\\3, {{kPl.}}\n'),
python replace.py -ns:0 -dotall -regex -xml:"C:\Pfad\dewiktionary-20120225-pages-articles.xml" -fix:kPl
#ersetze <br> und <br/> durch <br /> (ur'(.*?<br)/??>', u'\\1 />'), #verschiebe Pipe nach 'Sprache Substantiv/Adj/Verb/Adv Übersicht' an Anf der nächsten Zeile (ur'({{\w+? (Substantiv|Adjektiv|Verb|Adverb) Übersicht)\|( )??\s\n', u'\\1\n|'), #enthält {Ref-Grimm} 3 Punkte und kein ßäöüÄÖÜ, entferne die Punkte (ur'({{Ref-Grimm\|+?)\|\.\.\.}}', u'\\1}}'), #enthält {Ref-Grimm} ein 'ßäöüÄÖÜ' und 3 Punkte, ersetze es durch 'sz|ae|oe|ue|Ae|Oe|Ue' und entferne die Punkte (ur'({{Ref-Grimm\|*?)ß(*?)\|\.\.\.}}', u'\\1sz\\2}}'), (ur'({{Ref-Grimm\|*?)ä(*?)\|\.\.\.}}', u'\\1ae\\2}}'), (ur'({{Ref-Grimm\|*?)ö(*?)\|\.\.\.}}', u'\\1oe\\2}}'), (ur'({{Ref-Grimm\|*?)ü(*?)\|\.\.\.}}', u'\\1ue\\2}}'), (ur'({{Ref-Grimm\|*?)Ä(*?)\|\.\.\.}}', u'\\1Ae\\2}}'), (ur'({{Ref-Grimm\|*?)Ö(*?)\|\.\.\.}}', u'\\1Oe\\2}}'), (ur'({{Ref-Grimm\|*?)Ü(*?)\|\.\.\.}}', u'\\1Ue\\2}}'), #entferne {Ähnlichkeiten}, falls leer (ur'(.*?\s\n){{Ähnlichkeiten}}\s\n', u'\\1'), (ur'(.*?)\s\n{{Ähnlichkeiten}}\s\n:', u'\\1'), #entferne alle Leerzeichen am Zeilenende, {außer nach "]" (wegen ": ") (ur'(.*?*?])\s*?(\n)', u'\\1\\2'), #entferne Kommentar, Kategorie (ur'(.*?)<!-- /Flexionstabelle\n/-->\n', u'\\1'), (ur'(.*?)<!-- /Dialekttabelle\s\n/-->', u'\\1'), (ur'(.*?{{Ähnlichkeiten}})<!-- tot beim Eintrag von Tod\, und umgekehrt -->\s', u'\\1'), (ur'(.*?)<!-- Links/Rechts -->', u'\\1'), (ur'(.*?)<!-- Unterbegriffe absteigend nach Größe sortiert -->', u'\\1'), (ur'(.*?)\s\n\\]\s\n', u'\\1'), #''f'' -> {{f}} (ur'(.*?} )\'\'f\'\'', u'\\1{{f}}'), (ur'(.*?} )\'\'m\'\'', u'\\1{{m}}'), (ur'(.*?} )\'\'n\'\'', u'\\1{{n}}'), #-> genau eine Zeile vor Textbausteinen sowie vor Flexvorlagen der wichtigsten Sprachen, nicht mehr und nicht weniger (ur'(.*?)\s*?\n{{(Anmerkung|Alternative Schreibweisen|Nebenformen|Silbentrennung|Aussprache|Bedeutungen|Abkürzungen|Herkunft|Synonyme|Gegenwörter|Oberbegriffe|Unterbegriffe|Beispiele|Redewendungen|Sprichwörter|Charakteristische Wortkombinationen|Abgeleitete Begriffe|Referenzen}|Grammatische Merkmale|Grundformverweis|Quellen|Ähnlichkeiten|Adjektiv-Tabelle|Verb-Tabelle|Deutsch|Englisch|Italienisch|Französisch|Polnisch|Katalanisch|Lateinisch|Okzitanisch|Tschechisch|Spanisch|Ungarisch)', u'\\1\n\n{{\\2'), #entferne Leerzeichen nach {Ähnlichkeiten} zw ":" und ] (ur'({{Ähnlichkeiten}}\s*:)\s?\[', u'\\1['), #{Literaturliste\|Pfeifer\|sup=8} -> {Lit-Pfeifer: Etymologisches Wörterbuch|A=8} #ersetze p./S. durch Seite (ur'{{Literaturliste\|Pfeifer\|sup=8}}(.*? )\.( \d)', u'{{Lit-Pfeifer: Etymologisches Wörterbuch|A=8}}\\1Seite\\2'), (ur'{{Literaturliste\|Pfeifer\|sup=8', u'{{Lit-Pfeifer: Etymologisches Wörterbuch|A=8'),
(ur'(===*?)\, ??({{kSt.}}|nicht steigerbar)(*?===.*?ilbentrennung}}\s*?\n:*?)(\,? {{kSt.}} ??)? *?\s\n', u'\\1\\3, {{kSt.}}\n'),
(ur'(=== ??{{Wortart\|Substantiv\|\w+?}})((\, {{Wort*?)??(\, {{Wort*?)??(\, {{Wort*?)??)\, ??({{\w{1,3}}})((\, ??*?)??) ??===', u'\\1, \\6\\2\\7 ==='), #zusätzlich: entferne überfl Leerzeichen vor === oder füge ein fehlendes ein (ur'(=== ??{{Wortart\|Substantiv\|\w+?}})((\, {{Wort*?)??(\, {{Wort*?)??(\, {{Wort*?)??)\, ??({{\w{1,3}}})((\, ??*?)??+?)*?===', u'\\1, \\6\\2\\7 ==='),
(ur'(===*?\w}}\,*?){{m}}*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)*?{{f}}(*?===)', u'\\1{{mf}}\\3'), (ur'(===*?\w}}\,*?){{f}}*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)*?{{m}}(*?===)', u'\\1{{fm}}\\3'), (ur'(===*?\w}}\,*?){{n}}*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)*?{{m}}(*?===)', u'\\1{{nm}}\\3'), #ersetze {n}, {f} durch {nf}, außer bei {m}, {n}, {f} (Dschungel) (ur'(===*?\w}}\,*?){{n}}*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)*?{{f}}(*?===)', u'\\1{{nf}}\\3'), #ersetze {f}, {n} durch {fn}, außer bei {m}, {f}, {n} (Nutella) und {f}, {n}, {m} (Nudossi) (ur'(===*?\w}}\,*?){{f}}*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)*?{{n}}(*?===)', u'\\1{{fn}}\\3'), #ersetze {m} / {n} durch {m}, {n} (ur'(===*?){{m}}*?(\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)*?{{n}}(*?===)', u'\\1{{m}}, {{n}}\\3'), (ur'(===*?){{m}}*?\((\,|/|\'\'/\'\'|und|\'\'und\'\'|oder|\'\'oder\'\'|, auch:??)*?{{n}}\)(*?===)', u'\\1{{m}}, {{n}}\\3'),
(ur'{{Literaturliste\|Duden\, Etym(\|sup=)??3}}(.*? )\.( | )(\d)', u'{{Lit-Duden: Herkunftswörterbuch|A=3}}\\2Seite \\4'), (ur'{{Literaturliste\|Duden\, Etym(\|sup=)??3', u'{{Lit-Duden: Herkunftswörterbuch|A=3'), (ur'{{Literaturliste\|Duden\, Rechtschreibung\|sup=24}}(.*? )\.( | )(\d)', u'{{Lit-Duden: Rechtschreibung|A=24}}\\2Seite \\3'), (ur'{{Literaturliste\|Duden\, Rechtschreibung\|sup=24', u'{{Lit-Duden: Rechtschreibung|A=24'), (ur'{{Literaturliste\|Duden\, Redewendungen\|sup=(2|3)}}(.*? )\.( | )(\d)', u'{{Lit-Duden: Redewendungen|A=\\1}}\\2Seite \\4'), (ur'{{Literaturliste\|Duden\, Redewendungen\|sup=(2|3)', u'{{Lit-Duden: Redewendungen|A=\\1'), Rest wie oben
python replace.py -ns:0 -dotall -fix:Lit-Dud -transcludes:"!!Duden, Etym3" -transcludes:"!!Duden, Rechtschreibung24" -transcludes:"!!Duden, Redewendungen2" -transcludes:"!!Duden, Redewendungen3"
(ur'(===*?)\, *?{{Wortart\|(Singular|Plural)etantum\|*?}}(*?===)', u'\\1\\3'), #entf Wortart Eigenname nach/vor Toponym/Vorname/Nachname (ur'(===*?art\|(Toponym|Vorname|Nachname)*?)\, *?{{Wortart\|Eigenname\|*?}}(*?===)', u'\\1\\3'), (ur'(===*?)\, *?{{Wortart\|Eigenname\|*?}}(*?art\|(Toponym|Vorname|Nachname)*?===)', u'\\1\\2'),
#{Literaturliste|WöbuOccFra|sup=2005} -> {Lit-Cassinhac: Le dictionnaire Occitan – Français} #ersetze p./S. durch Seite (ur'{{Literaturliste\|WöbuOccFra\|sup=2005}}(.*? )\.( | )(\d)', u'{{Lit-Cassinhac: Le dictionnaire Occitan – Français}}\\2Seite \\3'), (ur'{{Literaturliste\|WöbuOccFra\|sup=2005', u'{{Lit-Cassinhac: Le dictionnaire Occitan – Français'), Rest siehe oben
#{{Literaturliste|Khull, Vornamenbüchlein}} -> {{Lit-Khull: Namenbüchlein|A=1}} #{{Literaturliste|LangenscheidtAlbanisch|sup=2000}} -> {{Lit-Langenscheidt: Handwörterbuch Albanisch|A=1}} #{{Literaturliste|Lgrc|sup=1993}} -> {{Lit-Langenscheidt: Taschenwörterbuch Altgriechisch|A=13}} #{{Literaturliste|Naumann/Schlimpert/Schultheis, Vornamen}} -> {{Lit-Naumann: Vornamenbuch}} #{{Literaturliste|Weitershaus, Vornamen|sup=2}} -> {{Lit-Weitershaus: Lexikon der Vornamen}} #ersetze p./S. durch Seite (ur'{{Literaturliste\|Khull\, Vornamenbüchlein}}(.*? )\.( | )(\d)', u'{{Lit-Khull: Namenbüchlein|A=1}}\\1Seite \\3'), (ur'{{Literaturliste\|Khull\, Vornamenbüchlein', u'{{Lit-Khull: Namenbüchlein|A=1'), (ur'{{Literaturliste\|LangenscheidtAlbanisch\|sup=2000}}(.*? )\.( | )(\d)', u'{{Lit-Langenscheidt: Handwörterbuch Albanisch|A=1}}\\1Seite \\3'), (ur'{{Literaturliste\|LangenscheidtAlbanisch\|sup=2000', u'{{Lit-Langenscheidt: Handwörterbuch Albanisch|A=1'), (ur'{{Literaturliste\|Lgrc\|sup=1993}}(.*? )\.( | )(\d)', u'{{Lit-Langenscheidt: Taschenwörterbuch Altgriechisch|A=13}}\\1Seite \\3'), (ur'{{Literaturliste\|Lgrc\|sup=1993', u'{{Lit-Langenscheidt: Taschenwörterbuch Altgriechisch|A=13'), (ur'{{Literaturliste\|Naumann/Schlimpert/Schultheis\, Vornamen}}(.*? )\.( | )(\d)', u'{{Lit-Naumann: Vornamenbuch}}\\1Seite \\3'), (ur'{{Literaturliste\|Naumann/Schlimpert/Schultheis\, Vornamen', u'{{Lit-Naumann: Vornamenbuch'), (ur'{{Literaturliste\|Weitershaus\, Vornamen\|sup=2}}(.*? )\.( | )(\d)', u'{{Lit-Weitershaus: Lexikon der Vornamen|J=1992}}\\1Seite \\3'), (ur'{{Literaturliste\|Weitershaus\, Vornamen\|sup=2', u'{{Lit-Weitershaus: Lexikon der Vornamen|J=1992'), Rest siehe oben
python replace.py -ns:0 -dotall -fix:Lit-Div -transcludes:"!!Khull, Vornamenbüchlein" -transcludes:"!!LangenscheidtAlbanisch2000" -transcludes:"!!Lgrc1993" -transcludes:"!!Naumann/Schlimpert/Schultheis, Vornamen" -transcludes:"!!Weitershaus, Vornamen2"
(ur'=== *?({{Wortart\|Substantiv\|\w+?}} ??,)?? ??({{Wortart\|(Vorname|Toponym)(\|\w+?}})), ??({{\w{1,3}}})(*?===)', u'=== {{Wortart|Substantiv\\4, \\5, \\2\\6')
python replace.py -ns:0 -dotall -regex -multiline -xml:"C:\Pfad\dewiktionary-20120321-pages-articles.xml" -excepttitle:Wiktionary: -excepttitle:Hilfe: -excepttitle:\(Konjugation -excepttitle:\(Deklination -fix:SubVornTop