Zu Inhalt springen

InDesign/GREP: Format nur auf Teil der Zeichenkette anwenden

Hervorgehobene Antworten

Hallo zusammen,

 

gibt es einen Möglichkeit, bei den GREP-Stilen nicht das komplette Suchergebnis mit dem Absatzformat zu versehen, sondern nur einen Teil.

 

Beispiel 1: Wir treffen uns um 13:30 Uhr hier, wenn wir 21:16 gewonnen haben

In diesem Satz soll nur die Uhrzeit, nicht aber „Uhr“ und auch nicht der Spielstand mit einem Zeichenformat versehen werden. Ich würde mit

[0-9]{1,2}:[0-9]{2} Uhr

arbeiten, aber dass würde eben „Uhr“ mit erfassen.

 

Beispiel 2: In der Zeichenkette  "(5 + 5) = \(5+5)" kommt eine Interpolation vor

Hier sollen \( und ) hervorgehoben werden, aber nicht der Inhalt dieser Konstruktion. Mit

\\\(.*?\)

erwische ich aber nur den kompletten Interpolations-Ausdruck. Ich kann auch nicht erst so auszeichnen und dann \( und ) einzeln, denn die schließende Klammer kommt ja auch im anderen Kontext vor. Mit positivem Lookahead/-behind geht es auch nicht, weil auch dann der Präfix/Postfix mit formatiert wird.

 

Kann man das irgendwie lösen?

vor einer Stunde schrieb TobiW:

gibt es einen Möglichkeit, bei den GREP-Stilen nicht das komplette Suchergebnis mit dem Absatzformat zu versehen, sondern nur einen Teil.

Selbstverfreilich. Das ist doch sagar eine ganz typische Anwendung davon. Und die angesprochenen Lookaheads und Lookbehinds werden dafür verwendet. Das Uhrzeit-Beispiele würde z.B. so funktionieren:

[0-9]{1,2}:[0-9]{2}(?=\sUhr)

 

  • Ersteller

Danke dir … komisch, dann hab ich die Looks wohl vorhin falsch benutzt :-?

 

Der Vollständigkeit halber hier meine Lösung für Beispiel 2:

1. komplette Stelle mir Format für die Begrenzer versehen

\\\(.*?\)

2. Inhalt der Begrenzer mit zweitem Format versehen

(?<=\\\().*?(?=\))

 

Auf diese Weise baue ich mir nämlich einen (rudimentären) Syntax-Highlighter :-) …

Erstelle ein Konto, um zu kommentieren

Wichtige Informationen

Wir setzen Cookies, um die Benutzung der Seite zu verbessern. Du kannst die zugehörigen Einstellungen jederzeit anpassen. Ansonsten akzeptiere bitte diese Nutzung.

Konto

Navigation

Browser-Push-Nachrichten konfigurieren

Chrome (Android)
  1. Klicke das Schloss-Symbol neben der Adressleiste.
  2. Klicke Berechtigungen → Benachrichtigungen.
  3. Passe die Einstellungen nach deinen Wünschen an.
Chrome (Desktop)
  1. Klicke das Schloss-Symbol in der Adresszeile.
  2. Klicke Seiteneinstellungen.
  3. Finde Benachrichtigungen und passe sie nach deinen Wünschen an.