Antworten auf deine Fragen:
Neues Thema erstellen

GREP

liselotte

Bärliner Jung

Hallo Leute
ich bin auf der "suche" nach einem Leerzeichen zwischen einer Zahl und (kg|g|cm usw.)
mein gescheiterter Versuch
(\d+) (kg|cm)
[\d+] [kg|cm] geht auch nicht
Der findet immer alles ich möchte aber nur das Leerzeichen.
Wer kann helfen?
Vielen Dank im Voraus
 

Design & Layout

draupnir

Moderator

Teammitglied
Eigentlich sollte \s für ein Leerzeichen stehen. In GREP (Regex) muss jedes Zeichen genau definiert werden.

Mini-Beispiel aus InDesign: \d\skg sucht nach einer Zahl, einem Leerzeichen und der Zeichenfolge "kg" und findet: »3 kg«.
 
Zuletzt bearbeitet:

mm100

Benutzer

Hallo Lilo
Was hast du denn mit dem Leerzeichen vor?

Eigentlich kannst du wie eingangs von dir gezeigt mit den geklammerten Fundstellen arbeiten und im Ersetzenfenster $1[dein neues Zeichen]$2 verwenden. Das ist auch der optimalere Weg, wenn du das gefundene Leerzeichen oder das "gefundene, falls nicht vorhandene" Leerzeichen durch ein Achtelgeviert ersetzen möchtest. Die Suche nach mehreren Ziffern ist auch nicht nötig.

Wenn du wirklich nur nach dem tatsächlich vorhandenen Leerzeichen zwischen einer Ziffer und der Einheit kg oder cm suchen möchtest, dann versuche es mit einer Kombination aus der Ziffer in einem positiven Lookbehind einem horizontalem Leerzeichen und den Einheiten gekapselt in einer Oder in einem positivem Lookahead.

Hört sich toll und kompliziert an. Sieht aber einfach aus:
\d\K\h(?=kg|cm)

Noch ein Nachtrag: Solltest du die beiden Einheiten nur als Beispiel verwendet haben und tatsächlich nach Meter m oder Sekunde s oder anderen aus einem einzigen Buchstaben bestehenden Kürzeln suchen, dann muss der Grep noch ausgebaut werden. Sonst wirst du zu viele falsch positive Ergebnisse erhalten.
 

liselotte

Bärliner Jung

Hi mm100
vor hatte ich mit dem Leerzeichen, es per Zeichenformat zu unterschneiden.
Im akt. Satzauftrag sind feste Leerzeichen verboten.

meine Recherche ergab das PosLookBehind nur Alternativen mit dem gleicher Zeichenlänge verarbeiten kann.(m =Meter geht wohl nicht)
Mal sehen ob ich noch eine Lösung finde, eilt erst mal nicht. Wäre aber wschön zu wissen.
Wenn nicht bleibt das einfache Leerzeichen. (Single-Peace)
Danke für Deine Mühe
MfG
 

liselotte

Bärliner Jung

"Feste Leerzeichen" sind zB. Ziffernleerzeichen, Achtel & Co geschütztes Leer feste Breite
Es sind nur "einfache Leerzeichen" erlaubt (wegen der Weiterverarbeitung. k. A.)
 

mm100

Benutzer

vor hatte ich mit dem Leerzeichen, es per Zeichenformat zu unterschneiden.
Im akt. Satzauftrag sind feste Leerzeichen verboten.
Das erklärt dein Vorhaben. Macht es aber auch umständlicher. Denn dann solltest du in einem ersten Schritt per Grep prüfen, ob es z.B. Einheiten gibt, die ohne Leerzeichen oder nach mehreren Leerzeichen nach einer Ziffer stehen oder ob Einheiten nach unterschiedlichen Leerzeichen im Dokument vorhanden sind und alles auf einen Stand bringen. Aber das lassen wir mal außen vor. Ich geh einfach einmal davon aus, dass du nicht für Korrekturen bezahlt wirst und dass dein Dokument so aufgebaut ist, dass alle Einheiten korrekt nach Vorgabe nach einem einzelnen "normalen" Wortabstand hinter den Ziffern stehen und deshalb keinerlei Überprüfung/Korrektur benötigt wird.

meine Recherche ergab das PosLookBehind nur Alternativen mit dem gleicher Zeichenlänge verarbeiten kann.(m =Meter geht wohl nicht)
Hier bringst du etwas durcheinander.
  1. Der positive Lookbehind wird auf die Ziffer angewendet. Hat mit der Einheit also überhaupt nichts zu tun.
  2. Ich habe eine Variante des positiven Lookbehinds angewendet. Diese kann mit variablen Längen umgehen.

Noch ein Nachtrag: Solltest du die beiden Einheiten nur als Beispiel verwendet haben und tatsächlich nach Meter m oder Sekunde s oder anderen aus einem einzigen Buchstaben bestehenden Kürzeln suchen, dann muss der Grep noch ausgebaut werden.
Es scheint, ich habe mit meiner Vermutung recht gehabt. Bitte poste eine vollständige Liste aller verwendeter Einheiten.
 

mm100

Benutzer

Das freut mich.

Solltest du für Nachstehendes noch Unterstützung brauchen dann melde dich einfach.
Noch ein Nachtrag: Solltest du die beiden Einheiten nur als Beispiel verwendet haben und tatsächlich nach Meter m oder Sekunde s oder anderen aus einem einzigen Buchstaben bestehenden Kürzeln suchen, dann muss der Grep noch ausgebaut werden. Sonst wirst du zu viele falsch positive Ergebnisse erhalten.
Es scheint, ich habe mit meiner Vermutung recht gehabt. Bitte poste eine vollständige Liste aller verwendeter Einheiten.
 

liselotte

Bärliner Jung

Wenn Du mir etwas über den Chain-GREP erklären könntest, wäre echt knorke.
Ich bekomme den nix hin weiß also nicht wie ich den programieren soll, irwas will nicht könnte auch sein das ich keine ausreichenden Rechte habe. Dazu aber morgen mehr
Danke Dir
 

liselotte

Bärliner Jung

Danke Dir @mobbytec
bei mir dauert immer

Mein ewiges Problem dabei ist:
Keine Schreibberechtigung im Ordner[/c/Programm%20Files/Adobe/Adobe%20InDesign%202022/Scripts/Scripts%Panel/Samples/JavaScript/FindChangeScripts]!
Kann damit jemand etwas anfangen bzw. wie ich es beheben kann?

Vielen Dank
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.636
Beiträge
1.538.496
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben