[GastForen Programme Print/Bildbearbeitung Adobe InDesign Mein GREP-Stil mag nicht so recht…

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Mein GREP-Stil mag nicht so recht…

Ralf Hobirk
Beiträge gesamt: 5961

1. Feb 2020, 16:12
Beitrag # 1 von 3
Bewertung:
(1065 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

die Aufgabenstellung ist Folgende:

Per GREP-Stil soll ein Absatz vom Anfang bis einschließlich des ersten Doppelpunktes bold ausgezeichnet werden. Das ist soweit auch kein Problem und funktioniert seit Jahren zuverlässig:

Code
(?<=^)(.+?:) 


Desweiteren gibt es Absätze, in denen nichts bold ausgezeichnet werden soll, aber Uhrzeiten im Format h:mm oder hh:mm enthalten. Auch das ist soweit kein Problem, z. B. mit diesem erweiterten GREP:

Code
(?<=^)(.+?[^:\d\d]:) 


Ich habe jetzt einen Fall, in dem ein Absatz z. B. so aussieht:

Zitat Appartement für 4-5 Personen Typ 1: Bla bla bla…


Mein GREP-Stil weigert sich, diesen Absatz bis einschließlich des Doppelpunktes bold auszuzeichnen. Sobald ich zwischen der Ziffer und dem Doppelpunkt ein Leerzeichen eingebe, wird korrekt formatiert. Ich verstehe einfach nicht, wieso mit meinem GREP die Kombination Ziffer/Doppelpunkt erwischt wird.

Anmerkung: Die hier beschriebenen Formatierungen müssen von einem einzigen Absatzformat abgedeckt werden, da dies Bestandteil eines Workflows ist, der vollkommen automatisch abläuft und grundsätzlich keine Option zur manuellen Interaktion bietet (und auch nicht bieten soll).

Irgendwo scheine ich einen Knoten in meiner Denkweise zu haben. Ich hoffe, dass ihn hier einer von euch lösen kann.
X

Mein GREP-Stil mag nicht so recht…

Kai Rübsamen
  
Beiträge gesamt: 4684

1. Feb 2020, 17:28
Beitrag # 2 von 3
Beitrag ID: #573859
Bewertung:
(1050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich hab jetzt hier und in diversen Blogbeitragen schon öfter beobachtet, dass teilweise die Klammern nicht klar sind.

Code
(?<=^)(.+?:) 



(?<=) und ^ sind Positionen. Für was brauchst du den Lookbehind an dieser Stelle?

Code
(?<=^)(.+?[^:\d\d]:) 



Findet etwas, wenn das direkte Zeichen vor dem Doppelpunkt entweder kein Doppelpunkt oder keine Zahl ist. Wenn du also ein Leerzeichen vor den Doppelpunkt tippst, ist dieses im ersten Ausdruck erhalten und du erhältst daher einen Treffer.

Code
[^:\d\d] 



Er sucht genau ein Zeichen, also entweder keinen Doppelpunkt oder keine Ziffer oder nochmal keine Ziffer, aber nicht Doppelpunkt GEFOLGT von Ziffer, GEFOLGT von Ziffer.

Führt diese einfach Variante schon zum Ziel?

Code
^.+?:(?!\d\d) 







als Antwort auf: [#573856]
(Dieser Beitrag wurde von Kai Rübsamen am 1. Feb 2020, 17:31 geändert)

Anhang:
GREP.png (51.0 KB)

Mein GREP-Stil mag nicht so recht…

Ralf Hobirk
Beiträge gesamt: 5961

1. Feb 2020, 18:03
Beitrag # 3 von 3
Beitrag ID: #573860
Bewertung:
(1037 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,

du hast den Knoten in meiner Denkweise gelöst. ;-)

Ich habe offensichtlich zu kompliziert gedacht. Jetzt, wo ich deinen simplen GREP-Code sehe, weiß ich auch, dass der Lookbehind überflüssig war und der Negative Lookahead die Aufgabe im Handumdrehen löst.

Dein Code ist natürlich schon eingebaut und funktioniert einwandfrei. Danke!


als Antwort auf: [#573859]