Möchte ein Skript zusammestellen, welches möglichst viele typographische Textkorrekturen ausgührt. ChainGREP hilft dabei mehrere GREP-Ersetzungen komfortabel nachheinander auszuführen.
Derzeit hänge ich jedoch noch bei einer Abfrage. Das Ziel soll ein Achtelgeviert Abstand zwischen Zahlen und Maßeinheiten sein (egal ob bereits schon ein Leerzeichen im Text vorhanden ist oder nicht).
Die Suche findet jedoch immer nur das erste Vorkommen in einem Satz oder in einem Absatz. Alle nachfolgenden Einheiten werden ignoriert. Wie lässt sich die Suchabfrage verfeinern (oofenbar fehlt ein Ende), dass auch alle Vorkommnisse im Dokument gefunden werden?
Besten Dank für eine Ergänzung.
(Dieser Beitrag wurde von thr33dog am 17. Okt 2017, 15:16 geändert)
GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten
ich habe jetzt keine Zeit zum Testen, aber du hast doch gar keine Fundstelle $2, weil der zweite Ausdruck in Klammern ein Lookahead ist. Wenn ich mich nicht täusche, müsste folgende Ersetzung hinhauen:
--- Viele Grüße, Ralf --- iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)
GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten
besten Dank an Ralf, Stefan und Thomas. Natürlich kann hier keine zweite Fundstelle gefunden werden – hatte die falsche Suchabfrage ins Forum reinkopiert (das positive Lookahead gehört nicht rein)
Möchte den Vorschlag von Medienoprator aufgreifen.:
Diese Suchabfrage hat meine eigene angedachte noch verbessert. Es findet aber jeweils nur die erste Einheit in einem Absatz. Hier ein Beispielssatz:
Welche Ergänzug der GREP-Abfrage findet alle gewünschten Suchstellen/Einheiten?
GREP-Suche Verfeinerung: Achtelgeviert bei Maßeinheiten in Texten
Also, der Vorschlag von Medienoperator macht mit Ausnahme des variablen Whitespace-Zeichens nichts anderes, als die korrigierte Variante von Ralf. Ich rate, dass die Variante mit einem Lookahead auch etwas schneller ist, da die Fundstellen nicht zwischengespeichert werden müssen.
Das Weglassen von "?" wie von Stefan vorgeschlagen ist keine Option! Bei \s*? kann das Fragezeichen allerdings entfallen, da der GREP aufgrund des nachfolgenden Ausdrucks nicht gierig ist und das Whitespacezeichen bereits durch "*" optional ist.
Du hast auf jeden Fall zwei Probleme: 1. mm wird nicht gefunden, da der Ausdruck bereits mit "m" zufrieden ist > Reihenfolge umstellen 2. mangels Wortgrenzen wird beispielsweise ein "m" auch in einem längeren Wort nach einer Zahl gefunden.
ja! Die Funktion des literalen Zeichens u. des Metazeichens sind bis einsch. CS6 unter bestimmten Konstellationen zerschossen und wurden erst in CC gefixt.