hilfdirselbst.ch
Facebook Twitter gamper-media

Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » GREP - erste Versuche - Bedeutung der Klammern?!

 

« « 1 2 » »  


Kai Rübsamen  M  p
Beiträge: 3148

18. Mai 2007, 18:02

Beitrag #1 von 30
Bewertung: |

(14388 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


Hallo!

Ich habe mir hier: http://www.yabb-adobe-doo.com/...gn_cs3_grep_800.html
einen Film über Grep angesehen und dachte zunächst ich hätte es wenigstens ein bisschen verstanden.

Neugierig geworden habe ich dann die Hilfe in Indesign durchgelesen und das verwirrt mich jetzt doch...

1. Die Hilfe schreibt z.B. wenn ich einen Punkt suchen will ist das Zeichen dafür \. damit der Punkt auch als Punkt erkannt wird, aber warum erkennt dann \d kein d sondern ein beliebiges Zeichen? Wo ist die Logik dahinter?
Auch wird der Punkt erkannt wenn ich (\d)["."](\d) anstelle von (\d)\.(\d) schreibe?! > das "." ohne ""

2. Worin besteht der Unterschied zwischen den drei Klammern
a) [ ]
b) ( )
c) { }

Dies wird in der Hilfe leider nicht erklärt, ist aber wahrscheinlich entscheidend für die richtige Suche?!

3. Wie müsste die Abfrage lauten, wenn ich den Punkt gegen ein Komma tauschen will
und dem Komma ein Zeichenformat grün gebe?

Denn bei Suche (\d)["."](\d) ersetze durch $1,$2

wird auch das Zeichen vorher und nachher eingefärbt.

Gruß Kai
_______________________

MacPro 2x2,66 GHZ, 3 GB | 10.5.8 | CS 4 (6.0.6) u. CS 5 (7.0.4) u. CS 5.5 (7.5.1)

ruebiarts.de
– Ein Blog vom Designer für Designer


(Dieser Beitrag wurde von ruebi am 18. Mai 2007, 18:14 geändert)
Top

Martin Fischer  M  p
Beiträge: 9425

18. Mai 2007, 18:12

Beitrag #2 von 30
Beitrag ID: #292175

Bewertung:

(14370 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche


Hallo Kai,

es gibt ein paar besondere Zeichen, die bei GREP reserviert sind.
So z.B. der Punkt. Er steht für jedes beliebige Zeichen.
Um nach dem richtigen Punkt zu suchen, mußt Du ihm wie angegeben einenn Backslash voranstellen: \.

\d ist auch eine reservierte Zeichenkombination. Es steht für digitale Zeichen.
\D steht für alle nicht digitalen Zeichen.

[] definieren einen Bereich oder eine Sammlung.
Z.B. steht [1-5] für alle Zahlen von eins bis fünf.

() definiert den Inhalt einer Variable, auf die bei Bedarf später beim Ersetzen ($1, $2, $n) zurückgegriffen werden kann.

{} definieren Wiederholungen:
\d{4} = genau vier Zahlen
\d{3,} = mindestens drei Zahlen
\d{1,5} = mindestens eine Zahl, höchstens fünf Zahlen.


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#292172]

(Dieser Beitrag wurde von Martin Fischer am 18. Mai 2007, 18:22 geändert)
Top

Thomas Richard  M  p
Beiträge: 14611

18. Mai 2007, 18:28

Beitrag #3 von 30
Beitrag ID: #292182

Bewertung: |||

(14355 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


Antwort auf [ ruebi ] Ich habe mir hier: http://www.yabb-adobe-doo.com/...gn_cs3_grep_800.html
einen Film über Grep angesehen und dachte zunächst ich hätte es wenigstens ein bisschen verstanden.

Neugierig geworden habe ich dann die Hilfe in Indesign durchgelesen und das verwirrt mich jetzt doch...


Wäre ja schön, wenn es so schnell ging.

Schau mal, das ist mir neulich in den Browser geraten:
http://www.regenechsen.de/...index.php?regex_allg
Vielleicht kommst du damit besser zurecht.

Auf jeden Fall funktioniert grep nicht ohne vorher regex kapiert zu haben.


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/

als Antwort auf: [#292172] Top

Martin Fischer  M  p
Beiträge: 9425

18. Mai 2007, 18:50

Beitrag #4 von 30
Beitrag ID: #292186

Bewertung:

(14344 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


> Vielleicht kommst du damit besser zurecht.

Eine gute Übersicht und Einführung findest Du auch auf http://www.regular-expressions.info/ und http://www.amk.ca/python/howto/regex/.


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#292182]

(Dieser Beitrag wurde von Martin Fischer am 18. Mai 2007, 18:52 geändert)
Top

Kai Rübsamen  M  p
Beiträge: 3148

18. Mai 2007, 19:07

Beitrag #5 von 30
Beitrag ID: #292188

Bewertung:

(14335 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


da ham wir´s wieder: Im Film ist alles viel einfacher als im realen Leben.

Ihr seit euch sicher, dass man erst mal durch die regex materie durch muss, wenn man mit GREP vernünftig arbeiten will? Ich könnte mir vorstellen, dass der ein oder andere gar keine Lust oder noch weniger Zeit dazu hat ... Ich verstehe auch nicht, dass die Hilfe da fast nichts vernünftiges hergibt ...

Gruß Kai
_______________________

MacPro 2x2,66 GHZ, 3 GB | 10.5.8 | CS 4 (6.0.6) u. CS 5 (7.0.4) u. CS 5.5 (7.5.1)

ruebiarts.de
– Ein Blog vom Designer für Designer

als Antwort auf: [#292186] Top

Ralf Hobirk p
Beiträge: 4485

18. Mai 2007, 19:15

Beitrag #6 von 30
Beitrag ID: #292190

Bewertung:

(14329 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


Ich habe mir gestern Abend auch das von Rübi angesprochene Video angesehen. Es scheint SEHR oberflächlich zu sein, denn der Umstand, dass der Punkt (.) für ein beliebiges Zeichen steht, wird nicht erklärt. Statt dessen hat der Autor den Punkt in eckige Klammern gesetzt, mit dem Hinweis "I want to make the point necessary".

Ich werde mich jedenfalls erstmal intensiv mit euren Links (Danke!) zu Regex auseinandersetzen, denn an GREP wird in ID CS3 wohl kein Weg vorbeiführen. Zumindest nicht, wenn man Suchen & Ersetzen intensiv einsetzen möchte.

---
Sonnige Grüße aus Egypt Cool
Ralf
---
MacPro 2x2,66 GHz, 10 GB | MacBook Pro 15" Unibody 2,0 GHz, 8 GB | MacBook Pro 17" 2,4 GHz, 4 GB | MacBook Pro 15" 2,5 GHz, 4 GB | alle 10.6.8 | CS5 (ID 7.0.4)
El Gouna - Life as it should be!

als Antwort auf: [#292186] Top

Kai Rübsamen  M  p
Beiträge: 3148

18. Mai 2007, 19:33

Beitrag #7 von 30
Beitrag ID: #292193

Bewertung:

(14317 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


@ mediteran:

> Statt dessen hat der Autor den Punkt in eckige Klammern gesetzt, mit dem Hinweis "I want to make the point necessary".

Er hat hier eben nicht ein beliebiges Zeichen gemeint, sondern wollte tatsächlich den Punkt im Text ersetzen. Was das Video mit ["."] beschreibt wird in der Indesign-Hilfe als \. definiert. Mich verwirrt das, weil ich - wie Thomas es richtig getroffen hat - nicht weis, was dahinter steckt.

Die genannten Links (teilweise auf englisch) setzen voraus, dass man sich intensiv mit der Materie befassen will, gut. Es wäre aber auch schön, wenn man gängige Suchabfragen irgendwie so hinbekäme ;-)

Gruß Kai
_______________________

MacPro 2x2,66 GHZ, 3 GB | 10.5.8 | CS 4 (6.0.6) u. CS 5 (7.0.4) u. CS 5.5 (7.5.1)

ruebiarts.de
– Ein Blog vom Designer für Designer

als Antwort auf: [#292190]

(Dieser Beitrag wurde von ruebi am 18. Mai 2007, 19:36 geändert)
Top

Ralf Hobirk p
Beiträge: 4485

18. Mai 2007, 19:46

Beitrag #8 von 30
Beitrag ID: #292195

Bewertung:

(14305 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


Hi Rübi,

Zitat Er hat hier eben nicht ein beliebiges Zeichen gemeint, sondern wollte tatsächlich den Punkt im Text ersetzen.

Ist mir schon klar, habe mich offensichtlich nicht deutlich genug ausgedrückt. Sorry!

Wahrscheinlich hat er den Punkt in eckige Klammern gesetzt, weil er die Suche ja noch auf das Komma erweitert hat, womit wir bei Martins Erklärung wären:
Zitat [] definieren einen Bereich oder eine Sammlung


Ohne Einarbeiten ins Thema geht da wohl nichts, zumindest müssen wir die Syntax kapieren... Ich mach mich heute Abend ran...

---
Sonnige Grüße aus Egypt Cool
Ralf
---
MacPro 2x2,66 GHz, 10 GB | MacBook Pro 15" Unibody 2,0 GHz, 8 GB | MacBook Pro 17" 2,4 GHz, 4 GB | MacBook Pro 15" 2,5 GHz, 4 GB | alle 10.6.8 | CS5 (ID 7.0.4)
El Gouna - Life as it should be!

als Antwort auf: [#292193] Top

Martin Fischer  M  p
Beiträge: 9425

18. Mai 2007, 20:03

Beitrag #9 von 30
Beitrag ID: #292196

Bewertung:

(14296 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


> [] definieren einen Bereich oder eine Sammlung

Da habe ich mich nun ziemlich blöd ausgedrückt.
Wie krieg man diese falschen Begriffe wieder weg aus den Gehirnen?
Das sollte eher "Liste" heißen.

[1-5a-d] steht für ein beliebiges Zeichen aus der Liste "1, 2, 3, 4, 5, a, b, c, d"

[0-9] steht für eine beliebige Zahl (ein Zeichen aus der Liste "1, 2, 3, 4, 5, 6, 7, 8, 9") = \d


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#292195] Top

Robert Zacherl p
Beiträge: 4151

18. Mai 2007, 20:08

Beitrag #10 von 30
Beitrag ID: #292198

Bewertung: |||

(14293 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


Antwort auf [ ruebi ] 1. Die Hilfe schreibt z.B. wenn ich einen Punkt suchen will ist das Zeichen dafür \. damit der Punkt auch als Punkt erkannt wird, aber warum erkennt dann \d kein d sondern ein beliebiges Zeichen? Wo ist die Logik dahinter?


Hallo Ruebi,

da der Punkt (".") zum Sprachumfang von RegExp zählt (es steht stellvertretend für eine beliebiges Zeichen), muss es escaped werden, wenn tatsächlich ein Punkt gesucht werden soll. Dieses Escapen geischieht mittels des Backslashes.

Ich bin nicht mit der Grep-Implementierung in CS3 vertraut, aber ein "\d" erkennt kein beliebiges Zeichen, sondern nur "Digits" also die Ziffern 0-9. Ein "d" dagegen sucht eben textuell nach einem "d" oder "D" (je nachdem ob Groß-/Kleinschreibung relevant ist oder nicht). "\d" zählt zum Sprachumfang von RegExp.

Zitat Auch wird der Punkt erkannt wenn ich (\d)["."](\d) anstelle von (\d)\.(\d) schreibe?! > das "." ohne ""


Wenn Sie den Punkt in eckige Klammern setzen, dann definieren Sie einen erlaubten oder nicht erlaubten (vorangestelltes ^) Zeichenvorrat. Innerhalb der eckigen Klammern haben also praktisch alle angegebenen Zeichen (bis auf ^ wenn es als erstes Zeichen angegeben wird) ihre eigentliche Bedeutung. Somit ist es vollkommen überflüssig bzw. sogar falsch die doppelten Anführungszeichen anzugeben. Auch ohne diese ist klar, dass Sie nach einem Punkt zwischen zwei Ziffern suchen.

Zitat 2. Worin besteht der Unterschied zwischen den drei Klammern
a) [ ]
b) ( )
c) { }


[] definieren einen Zeichenvorrat
() dienen zur Gruppierung von Teilausdrücken, deren Ergebnisse dann über die Variablen $1 bis $9 (von links nach rechts durchnummeriert) abgegriffen werden können.
{} dienen zur Angabe von Wiederholungen. So bedeutet z.B. "\d{3}", dass Sie nach genau 3 direkt aufeinander folgenden Ziffern suchen.

Zitat 3. Wie müsste die Abfrage lauten, wenn ich den Punkt gegen ein Komma tauschen will und dem Komma ein Zeichenformat grün gebe?

Denn bei Suche (\d)["."](\d) ersetze durch $1,$2

wird auch das Zeichen vorher und nachher eingefärbt.


Ich kenne wie schon gesagt die Grep-Implementierung in CS3 nicht, aber den Effekt den Sie beschreiben, hat meiner Meinung nach nichts mit Grep zu tun, sondern mit der Vererbung von Zeichenformaten.

Mit freundlichem Gruß

Robert Zacherl

************************
IMPRESSED GmbH
www.impressed.de

als Antwort auf: [#292172] Top

Kai Rübsamen  M  p
Beiträge: 3148

18. Mai 2007, 20:20

Beitrag #11 von 30
Beitrag ID: #292199

Bewertung: |

(14284 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


danke für die weiteren infos, es scheint ein spannendes Thema zu werden.

> Somit ist es vollkommen überflüssig bzw. sogar falsch die doppelten Anführungszeichen anzugeben.
Das ist wohl jetzt ein kleines Mistverständnis ;-) Die Forensoftware erlaubt keinen Punkt bei eckigen Klammern. Hier wird der Inhalt nicht angzeigt. Um den Punkt trotzdem darstellen zu können, habe ich ihn in "" gesetzt und dann am Schluß der Hinweis.

Gruß Kai
_______________________

MacPro 2x2,66 GHZ, 3 GB | 10.5.8 | CS 4 (6.0.6) u. CS 5 (7.0.4) u. CS 5.5 (7.5.1)

ruebiarts.de
– Ein Blog vom Designer für Designer

als Antwort auf: [#292172] Top

Gerald Singelmann  M  p
Beiträge: 5750

18. Mai 2007, 20:47

Beitrag #12 von 30
Beitrag ID: #292202

Bewertung: |||

(14274 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche


Zitat \d ist auch eine reservierte Zeichenkombination. Es steht für digitale Zeichen.
\D steht für alle nicht digitalen Zeichen.


Ziffern, nicht Zeichen. Kommt von "digit".

Zitat (\d)["."](\d)


(\d) findet genau eine Ziffer und speichert sie in $1. ["."] findet entweder ein " oder ein . oder ein "
Das zweite " ist überflüssig.
Innerhalb von [ ] können keine Wildcards (also . oder \d) verwendet werden, also muss ein Punkt auch nicht als \. ausgedrückt werden, wie außerhalb von [ ], wo . ein beliebiges Zeichen außer Return meint.

Beim Ersetzen ist es wie immer: wenn etwas gefunden wurde und einen anderen Stil kriegen soll, dann kriegt alles, was gefunden wurde einen neuen Stil.
Das klingt auf den ersten Hör so, als könne Frage 3 nicht gelöst werden.
Aber: Grep wäre nicht gleichzeitig so cool und kompliziert, wenn es nicht doch ginge. Man kann nämlich nach , in einem bestimmten Kontext suchen. Es gibt vier Umgebungsparameter: Lookahead positiv oder negativ und Lookbehind positiv oder negativ.
Hier braucht es also einen positiven Lookahead und einen positiven Lookbehind:
(?<=\d),(?=\d)
Das heißt also: ich suche nur ein Komma, aber direkt links vom Komma muss eine Ziffer stehen und direkt rechts davon auch.

Und nur der Vollständigkeit halber:
(?<=[^A-Za-zäöüÄÖÜ]),(?=\d)
macht etwas sehr ähnliches.. Ich suche ein Komma und links vom Komma soll ein Zeichen aus [ ] einem bestimmten Zeichenvorrat stehen und zwar alle Zeichen die [^ ] NICHT zwischen A und Z oder a und z oder ä,ö,ü,Ä,Ö,Ü sind.
Das ist das gleiche wie ein negativer Lookbehind mit einer positiven Zeichenmenge
(?<![A-Za-zäöüÄÖÜ]),(?=\d)

Ich denke, grep kostet einige Zeit zum Eingewöhnen, Raketentechnik ist es aber auch nicht.

Mit freundlichem Gruß
Gerald Singelmann

--------------------------
Alles rund um InDesign und Automatisierung für Profis
http://www.cuppascript.com

als Antwort auf: [#292175] Top

Gerald Singelmann  M  p
Beiträge: 5750

18. Mai 2007, 21:04

Beitrag #13 von 30
Beitrag ID: #292204

Bewertung: |

(14264 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche


In einem anderen Forum fragte grad jemand, ob andere bei "grep" nicht auch an einen schlechtgelaunten Frosch denken müssten.

Mit freundlichem Gruß
Gerald Singelmann

--------------------------
Alles rund um InDesign und Automatisierung für Profis
http://www.cuppascript.com

als Antwort auf: [#292202] Top

Thomas Richard  M  p
Beiträge: 14611

18. Mai 2007, 22:20

Beitrag #14 von 30
Beitrag ID: #292213

Bewertung: ||

(14245 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


Hallo Rübi,

doch, das geht:

[.]

Der Trick dabei ist, das du ihn hier im Forum doppeln musst.

Also sieht deine Eingabe im Beitrag dafür so aus:

[..]


MfG

Thomas


Und wenn dir geholfen wurde, hilf uns, dies auch weiterhin zu können.
http://www.hilfdirselbst.ch/info/

als Antwort auf: [#292199] Top

Kai Rübsamen  M  p
Beiträge: 3148

19. Mai 2007, 13:09

Beitrag #15 von 30
Beitrag ID: #292255

Bewertung: |

(14196 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

GREP - erste Versuche - Bedeutung der Klammern?!


Hallo!

Vielen Dank euch allen für eine erste Hilfe.

Ich habe heute morgen den Link von Thomas http://www.regenechsen.de/...index.php?regex_allg zumindest in den Anfängen durchgearbeitet und kann dies für den Einstieg empfehlen, da er auf deutsch ist und auch mit Beispielen aufwartet.

Im Downloadbereich stellt der Autor das gesamte Werk auch als PDF zur Verfügung. Wer anschließend mit Begriffen wie z.B. "Quantifizierer" nicht klarkommt, dem sei noch diese Seite empfohlen http://docs.kde.org/...lar-expressions.html

Aber auch den von Martin genannten Link http://www.regular-expressions.info/ sollte man nach der o.g. deutschen Version einmal durchgehen.

Auch wenn das ganz am Anfang genannte Video etwas holprig in der Erklärung und Ausführung erscheint, ist es trotzdem zur Vermittlung eines ersten Eindrucks geeignet und man sollte es sich vor der Vertiefung in die Materie ansehen und selbst nachvollziehen.

Gruß Kai
_______________________

MacPro 2x2,66 GHZ, 3 GB | 10.5.8 | CS 4 (6.0.6) u. CS 5 (7.0.4) u. CS 5.5 (7.5.1)

ruebiarts.de
– Ein Blog vom Designer für Designer

als Antwort auf: [#292213]

(Dieser Beitrag wurde von ruebi am 19. Mai 2007, 14:02 geändert)
Top
« « 1 2 » »  


Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » GREP - erste Versuche - Bedeutung der Klammern?!


^