Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Doppelte Begriffe werden per GREP nur einmal gefunden

Doppelte Begriffe werden per GREP nur einmal gefunden

ToniMontanaa
Beiträge gesamt: 426

22. Sep 2014, 12:00
Bewertung:

gelesen: 4390

Beitrag als Lesezeichen
Hallo zusammen,

ich habe hier bei mir ein seltsames Verhalten bei einem GREP-Befehl den ich mir gerade nicht erklären kann.

Ich lasse mir in InDesign ein Inhaltsverzeichnis erstellen. Nun kommt es in der Datei vor das auf einer Seite mehrere Artikel auf einer Seite stehen. Im Inhaltsverzeichnis hätte ich aber gerne die Seite nur einmal aufgezählt. Statt doppelten Seitenzahlen will ich hier nur einen Schrägstrich zwischen den Artikeln.
Zum besseren Verständnis habe ich eine Beispieldatei angehängt.

Mit folgendem GREP-Befehl wollte ich nun die doppelten Stellen suchen und ersetzen.
Suchen nach: (Quadrat Seite \d~S)(.+)\s{2}\1
Ersetzen mit: $1$2 /
Das Quadrat seht ihr in der Beispieldatei. Dieses wurde hier nur nicht richtig dargestellt.

Wenn ich nun meinen Cursor auserhalb des Textrahmens platziere, bei "Durchsuchen:" Dokument eingestellt habe und auf suchen gehe, findet InDesign den ersten doppelten Begriff in der ersten Zeile. Die anderen in den Zeilen 2 und 4/5 findet InDesign nicht mehr. Wenn ich den Cursor im Textrahmen in der ersten Zeile platziere wird auch der erste Begriff gefunden und sonst nichts. Wenn ich den Cursor in Zeile 2 vor dem Begriff 2 platziere wird der Begriff 2 und 1 gefunden. Der dritte in Zeile 4/5 aber auch nicht mehr. Das selbe gilt für den dtitten Begriff in Zeile 4/5.

Kann jemand dieses Verhalten nachvollziehen und weiß an was das liegt und was ich im GREP ändern kann/muss damit mir alle Fundstellen richtig angezeigt werden?

Grüße
Stefan

Anhang:
Inhaltsverzeichnis-Test.idml (34.2 KB)

Doppelte Begriffe werden per GREP nur einmal gefunden

pixxxelschubser
Beiträge gesamt: 1708

22. Sep 2014, 22:39
Bewertung:

gelesen: 4307

Beitrag als Lesezeichen
Versuche einmal:
Code
(\x{25A0} Seite \d\d+ )([^\x{25A0}]+) {2}\1 



Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


Doppelte Begriffe werden per GREP nur einmal gefunden

pixxxelschubser
Beiträge gesamt: 1708

23. Sep 2014, 05:38
Bewertung:

gelesen: 4275

Beitrag als Lesezeichen
Zwei kleine Fehler in meinem gestrigen Posting. Man braucht naturlich nur einmal \d, und mein Copy&Paste hat ~S „verschluckt“. Der Grep sollte also z.B. so aussehen:
Code
(\x{25A0} Seite \d+~S)([^\x{25A0}]+) {2}\1 


(Wie immer: die "1" ist der letzte Character im Grep. Bitte darauf achten, dass ein am Schluss eventuell vorhandenes Leerzeichen nicht versehentlich mitkopiert wird. Und wahrscheinlich muss bei Copy&Paste auch "~S" händisch ersetzt werden.)


Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


Doppelte Begriffe werden per GREP nur einmal gefunden

Uwe Laubender
Beiträge gesamt: 5316

23. Sep 2014, 06:43
Bewertung:

gelesen: 4261

Beitrag als Lesezeichen
Guten Morgen, pixxxelschubser!

Copy/Paste ins GREP-Eingabefeld Deines geposteten Ausdrucks funktioniert bei mir perfekt (OSX 10.7.5, Firefox => InDesign CS6).
*****
Mit herzlichem Gruß,
Uwe Laubender

Doppelte Begriffe werden per GREP nur einmal gefunden

ToniMontanaa
Beiträge gesamt: 426

23. Sep 2014, 11:54
Bewertung:

gelesen: 4163

Beitrag als Lesezeichen
Hallo pixxxelschubser,

Super, der GREP funktionert. Vielen Dank. Nur verstehe ich nicht ganz warum.

In Worten ausgedrückt suche ich ja nach der Wiederholung
Quadrat Seite (beliebige Ziffer)(Geschützes Leerzeichen)(Beliebig viele beliebige Zeichen)(Zwei beliebige Leerzeichen)

1. Warum muss ich dann anstelle der beliebigen Zeichen im Grep nochmal das Quadrat angeben und vor allem mit der Positionsbedingung am Absatzbeginn? Die Fundstellen die mit meinem Grep ja nicht, oder nur bedingt, gefunden wurden liegen ja mitten im Absatz.

2. Was mir auch noch ein Rätsel ist, ist das mit meinem Grep die Fundstellen in den Zeilen 2 und 4 gefunden wurden, aber nur wenn der Cursor in der Zeile vor der Fundstelle platziert wurde?

Grüße
Stefan

Doppelte Begriffe werden per GREP nur einmal gefunden

Kai Rübsamen
  
Beiträge gesamt: 4684

23. Sep 2014, 12:26
Bewertung:

gelesen: 4142

Beitrag als Lesezeichen
Hallo Stefan,

Antwort auf: und vor allem mit der Positionsbedingung am Absatzbeginn?

^\x{25A0}+ und [^\x{25A0}+]
sind zwei paar Schuhe.

Pixxxel sucht ein Zeichen, das kein Quadrat ist, ein oder mehrere Male. Das ^hat in Abhängigkeit seiner Position zwei Bedeutungen.

Antwort auf: Was mir auch noch ein Rätsel ist,

Hierfür hab zumindest ich, keine wirklich nachvollziehbare Erklärung. In der Vergangenheit ist es mir nur schon öfters passiert, das ich mit dem Punkt nicht das gefunden habe, was ich eigentlich suchte ;-)

Folgender Test und Idee:
Such einmal mit Pixxxels Variante ohne \1 und mach dann dasselbe mit deiner Variante. Im ersten Fall ist klar, wo Schluss ist. Bei dir rennt der GREP erst bis zum letzten Vorkommen und muss dann Zeichen für Zeichen zurückgehen. Das schafft er immer beim ersten Mal, nicht aber bei den anderen Stellen, weil das offensichtlich recht komplex ist.

Gruß Kai Rübsamen

Doppelte Begriffe werden per GREP nur einmal gefunden

ToniMontanaa
Beiträge gesamt: 426

23. Sep 2014, 13:51
Bewertung:

gelesen: 4107

Beitrag als Lesezeichen
Hallo Kai,

danke für deine Ausführung. Jetzt ist es mir auch klar.
Hatte das Negationszeichen überhaupt nicht mehr auf dem Schirm.

Grüße
Stefan