Hallo Jan
Da die Aufgabe von allgemeinem Interesse sein könnte (Literaturverzeichnisse), habe ich die Greps noch etwas verfeinert.
Für Namen wie:
Hans-Martin Müller
Hans-Martin Müller-Meier
Hans Martin Müller
Hans Martin Müller-Meier
Hans M. Müller
H. Martin Müller-Meier
gilt folgender Grep:
((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)
Damit ergeben sich für die 3 Greps (1. Namen nach in: – 2. Namen am Absatzanfang – 3. Namen nach bzw. zwischen Schrägstrichen) folgende Ausdrücke:
Namen nach «in:» («in» als Wort)
(?<=\bin: )((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)
$5, $1
Namen am Absatzanfang (gefolgt von (ed.), Schrägstrich oder Doppelpunkt)
^((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)(?= \(ed.\)|:|/)
$5, $1
Namen zwischen Schrägstrichen bzw. nach Schrägstrich und vor «:» oder «(ed./eds.):»
(?<=/)((\u\. )?[\w-]+( \u\.)?( \u\l+)?) ([\w-]+)(?= \(eds?.\)|:|/)
$5, $1
Für mehrere Ortsangaben mit Schrägstrichen (Wien/New York/London) habe ich auf die Schnelle keine Lösung. Allenfalls könnten in einem ersten Durchgang (per Skript oder manuell: Alles ändern) alle Fundstellen hervorgehoben werden (z. B. Farbe, fett usw.), und zwar ohne Umstellung; nachher visuelle Kontrolle und bei nicht gewünschten Stellen die Formatierung wieder aufheben. In einem zweiten Durchgang werden dann alle formatierten Stellen (Namen) vertauscht und die Formatierung rückgängig gemacht.
Gruss, Marco
Edit: Namenszusätze (Peter von Matt, Thomas de Maizière usw.) können natürlich bei Bedarf noch eingebaut werden, der Basis-Grep lautet dann ((\u\. )?[\w-]+( \u\.)?( \u\l+)?( von)?( de)?) ([\w-]+). Im Ändern-Feld muss dann einfach die Zahl der Klammerausdrücke berücksichtigt werden ($7, $1 usw.).
als Antwort auf: [#479936]
(Dieser Beitrag wurde von Marco Morgenthaler am 10. Sep 2011, 16:19 geändert)