[GastForen Programme Print/Bildbearbeitung Adobe InDesign Wiederholung innerhalb eines Positiven Lookbehinds nicht möglich? [CS6]

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

Wiederholung innerhalb eines Positiven Lookbehinds nicht möglich? [CS6]

maqui
Beiträge gesamt: 37

11. Feb 2013, 18:16
Beitrag # 1 von 5
Bewertung:
(1515 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich möchte mit der GREP-Suche einem Kleinbuchstaben in einem Ausdruck wie "Tabelle 15a" finden. Dafür habe ich folgende Zeile ins Suchfeld eingetragen:
Code
(?<=Tabelle \d+)\l 

Die Suche findet allerdings nichts.
Wenn ich das "+" jedoch durch ein "\d" ersetze, findet er das kleine "a".

Warum funktioniert es mit dem Wiederholungszeichen "+" nicht? Überseh ich da grad was?
X

Wiederholung innerhalb eines Positiven Lookbehinds nicht möglich? [CS6]

drerol74
Beiträge gesamt: 507

11. Feb 2013, 23:55
Beitrag # 2 von 5
Beitrag ID: #508094
Bewertung:
(1468 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo maqui,

Lookbehind funktioniert nur mit Ausdrücken fester Länge.

Was willst du den mit dem a machen? Ersetzen? Wenn ja, könnstet du die Zahl mit suchen und beim Ersetzen wieder einfügen.

Schöne Grüße
Roland


als Antwort auf: [#508076]

Wiederholung innerhalb eines Positiven Lookbehinds nicht möglich? [CS6]

Marco Morgenthaler
Beiträge gesamt: 2474

12. Feb 2013, 14:55
Beitrag # 3 von 5
Beitrag ID: #508141
Bewertung:
(1408 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Maqui

In Ergänzung zu Roland: Wenn du nur den Kleinbuchstaben finden willst (z. B. für eine Formatierung), dann kannst du auch mehrere Greps durch | (ODER) verbinden.

(?<=Tabelle \d)\l|(?<=Tabelle \d\d)\l|(?<=Tabelle \d\d\d)\l

findet alle Kleinbuchstaben nach «Tabelle 1» bis «Tabelle 999».

Gruss, Marco


als Antwort auf: [#508076]

Wiederholung innerhalb eines Positiven Lookbehinds nicht möglich? [CS6]

maqui
Beiträge gesamt: 37

12. Feb 2013, 18:20
Beitrag # 4 von 5
Beitrag ID: #508157
Bewertung:
(1364 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dank Euch beiden für die Aufklärung!

Ich will im Skript noch weiter auf den Kleinbuchstaben zugreifen, also nicht nur was ersetzen. Daher wäre es einfach praktisch mit "\d+". :)

Nur aus Neugier: Gibt es einen Grund warum es nicht möglich ist? Im Umkehrfall (mit positiven Lookahead) klappt es ja? So z.B.:

Tabelle (?=\d+\l)


als Antwort auf: [#508141]

Wiederholung innerhalb eines Positiven Lookbehinds nicht möglich? [CS6]

Kai Rübsamen
  
Beiträge gesamt: 4684

12. Feb 2013, 19:56
Beitrag # 5 von 5
Beitrag ID: #508163
Bewertung:
(1341 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mit Lookarounds suchst du zunächst Positionen und keine Zeichen. D.h. du musst nach etwas suchen, dass klar definiert werden kann. Wenn die Zeichenfolge vorher aber variabel ist (dein Beispiel mit dem Lookbehind) ist das nicht der Fall.

In deinem Beispiel mit dem Lookahead ist es jedoch klar: Du suchst nach Tabelle , gefolgt von einer Einfügemarke, gefolgt von einer Zahl, ein oder mehrere Male, gefolgt von einem Kleinbuchstaben.

Das mit den Einfügemarken kannst du nachvollziehen, indem du z.B. mal nur nach (?<=Tabelle \d\d) suchst. Das hier keine Quantifier zugelassen sind, ist wohl eine generelle Limitierung. Betrifft also nicht nur InDesign.


als Antwort auf: [#508157]
(Dieser Beitrag wurde von Kai Rübsamen am 12. Feb 2013, 20:01 geändert)
X