TobiW Geschrieben Mai 25, 2016 Geschrieben Mai 25, 2016 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?
Ralf Herrmann Geschrieben Mai 25, 2016 Geschrieben Mai 25, 2016 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) 1
TobiW Geschrieben Mai 25, 2016 Themen-Ersteller Geschrieben Mai 25, 2016 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 …
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenEinloggen
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden