Antworten auf deine Fragen:
Neues Thema erstellen

Grepstil

Ettenna63

Immer neugierig

Hallo zusammen,
ich möchte gerne, dass alles zwischen * und ** ein bestimmtes Format bekommt, aber mit \*.+\*\* haut es nicht ganz hin.
Rnd 6: LM 6, * [sc in ch-1 sp, LM 3] 4 times **, FM in ch-3 sp, LM 3; rep from * around, end at **; join to 3rd LM of ch-6.
Wo liegt mein Fehler?
Vielen Dank im Voraus
 

Kai Rübsamen

Nicht mehr ganz neu hier

Kann nicht funktionieren. So werden die Sternchen ja mitformatiert.

(?<=\*).+?(?=\*\*)
Das hilft bestimmt schon. Tut aber nicht richtig wenn die Sternchen mehrmals in einem Absatz vorkommen. Und dann wird es zu hoch für mich. Stehe bei Grep auch erst am Anfang.

Dein GREP ist schon ganz gut :). Bei mehreren Vorkommen im Absatz könntest du noch das Zeichen vor dem ersten Stern miteinbeziehen, das dann kein Stern sein darf:
(?<=[^*]\*).+?(?=\*\*)

Alternativ:
[^*]\*\K[^*]+(?=\*{2})

Gruß
Kai
 

mm100

Benutzer

Bei mehreren Vorkommen im Absatz könntest du noch das Zeichen vor dem ersten Stern miteinbeziehen, das dann kein Stern sein darf:
(?<=[^*]\*).+?(?=\*\*)
Klasse. In dem Fall "eher" negative Klasse. Ist das der richtige Begriff dafür? Ich habe das versucht. Aber nicht hinbekommen. Vielleicht irgendwann. :D

@Ettenna63 hat es wohl auch hinbekommen. Mit einem Leerzeichen nach dem Stern. Funktioniert wohl auch. Aber IMO nur wenn immer ein Leerzeichen nach dem ersten Stern steht. Dein Grep ist wahrscheinlich viel sicherer.

Eine Frage habe ich.
\K ist das der neuere und bessere "Rückblick"?
 

Kai Rübsamen

Nicht mehr ganz neu hier

Der richtige Begriff wäre "Negation" oder "negierte Klasse". Keine Ahnung, wer sich das ausgedacht bzw. zuerst so übersetzt hat.

\K ist ein "flexibler" Lookbehind (wird nicht übersetzt) und funktioniert in InDesign ab CS6. Die Schreibweise ist nicht nur kürzer wie (?<=), sondern hier sind auch Wiederholungszeichen möglich.

Das Interessante an eurer Aufgabe ist aber, dass es mit einer Negation gar keinen Lookbehind braucht. D.h. [^*]+(?=\*{2}) funktioniert auch! In dem Fall läuft die Suche nicht von links nach rechts, sondern von rechts nach links! > Position an der sich zwei Sternchen befinden und geht solange nach links, bis er auf einen Stern trifft.
 

mm100

Benutzer

Der richtige Begriff wäre "Negation" oder "negierte Klasse". Keine Ahnung, wer sich das ausgedacht bzw. zuerst so übersetzt hat.
\K ist ein "flexibler" Lookbehind (wird nicht übersetzt) und funktioniert in InDesign ab CS6. Die Schreibweise ist nicht nur kürzer wie (?<=), sondern hier sind auch Wiederholungszeichen möglich.
Das Interessante an eurer Aufgabe ist aber, dass es mit einer Negation gar keinen Lookbehind braucht. D.h. [^*]+(?=\*{2}) funktioniert auch! In dem Fall läuft die Suche nicht von links nach rechts, sondern von rechts nach links! > Position an der sich zwei Sternchen befinden und geht solange nach links, bis er auf einen Stern trifft.

Danke sehr für die super Erklärung.
 
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.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben