[GastForen Programme Print/Bildbearbeitung Adobe InDesign Grep gierige und nicht gierige wildcards

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

Grep gierige und nicht gierige wildcards

Morenga 65
Beiträge gesamt: 83

15. Apr 2011, 09:46
Beitrag # 1 von 5
Bewertung:
(2860 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich habe folgendes GREP-Problem: In einem Text sind sämtliche Auszeichnungen dadurch gekennzeichnet, dass die die entsprechenden Textstellen zwischen jeweils zwei gleichen Zeichen stehen (z.B. Stellen, die kursiv werden sollen sind am Anfang und Ende mit einem $ Zeichen gekennzeichnet). Wenn ich jetzt in GREP mit einem gierigen Platzhalter suche, also:
\$(.+)\$
werden natürlich nicht nur die von mir gewünschten Stellen gefunden, sondern der gesamte Text vom ersten $ Zeichen in der Zeile bis zum letzten.
Wenn ich aber mit einem nicht gierigen Platzhalter suche, also:
\$(.+?)\$
wird nur die erste Stelle in der Zeile gefunden. Wie kann ich es denn anstellen, das ich mit Grep alle Textstellen, die mit Dollarzeichen gekennzeichnet sind, erwische?

Über Hilfe wäre ich sehr dankbar.

Grüße

Morenga
X

Grep gierige und nicht gierige wildcards

Martin Fischer
  
Beiträge gesamt: 12691

15. Apr 2011, 09:49
Beitrag # 2 von 5
Beitrag ID: #469245
Bewertung:
(2859 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Morenga,

versuch's mal mit \$([^\$]+)\$.

Suche eine Zeichenfolge, die mit $ beginnt, auf die ein oder mehrere Zeichen, die nicht $ sind, folgen und die schließlich mit einem $-Zeichen endet.


als Antwort auf: [#469244]
(Dieser Beitrag wurde von Martin Fischer am 15. Apr 2011, 10:58 geändert)

Grep gierige und nicht gierige wildcards

Kai Rübsamen
  
Beiträge gesamt: 4679

15. Apr 2011, 10:34
Beitrag # 3 von 5
Beitrag ID: #469252
Bewertung:
(2828 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Martins Grep funktioniert prima.

@Morenga: Dein Ansatz ist richtig. Ich halte das für einen Bug. Wenn du nicht $, sondern * im Text zum Auffinden der Stellen hättest, würde \*(.+?)\* funktionieren.


als Antwort auf: [#469245]

Grep gierige und nicht gierige wildcards

Morenga 65
Beiträge gesamt: 83

15. Apr 2011, 10:37
Beitrag # 4 von 5
Beitrag ID: #469254
Bewertung:
(2823 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin und Kai,

vielen Dank, Martin, das klappt. Und wenn's ein Bug, Kai, dann bin ich ja vielleicht doch nicht ganz so blöd wie ich dachte.

Herzlich

Morenga


als Antwort auf: [#469252]

Grep gierige und nicht gierige wildcards

Uwe Laubender
Beiträge gesamt: 5262

15. Apr 2011, 13:03
Beitrag # 5 von 5
Beitrag ID: #469270
Bewertung:
(2759 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Morenga!
Falls das jetzt wirklich ein Bug war, was wird denn gefunden, wenn Du die Dollarzeichen in Unicode-Notierung schreibst?

Code
\x{0024}(.+?)\x{0024} 


Bei mir in InDesign CS4 6.0.6 (Mac) werden übrigens alle Vorkomnisse problemlos mit Deinen beiden GREPs gefunden…


als Antwort auf: [#469244]
X