[GastForen Programme Print/Bildbearbeitung Adobe InDesign GREP - erste Versuche - Bedeutung der Klammern?!

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

GREP - erste Versuche - Bedeutung der Klammern?!

Kai Rübsamen
  
Beiträge gesamt: 4664

18. Mai 2007, 18:02
Beitrag # 1 von 30
Bewertung: |
(68920 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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 Rübsamen

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

GREP - erste Versuche

Martin Fischer
  
Beiträge gesamt: 12626

18. Mai 2007, 18:12
Beitrag # 2 von 30
Beitrag ID: #292175
Bewertung:
(68752 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.

Viele Grüße
Martin




als Antwort auf: [#292172]
(Dieser Beitrag wurde von Martin Fischer am 18. Mai 2007, 18:22 geändert)

GREP - erste Versuche - Bedeutung der Klammern?!

Thomas Richard
Beiträge gesamt: 19081

18. Mai 2007, 18:28
Beitrag # 3 von 30
Beitrag ID: #292182
Bewertung: |||
(68737 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

GREP - erste Versuche - Bedeutung der Klammern?!

Martin Fischer
  
Beiträge gesamt: 12626

18. Mai 2007, 18:50
Beitrag # 4 von 30
Beitrag ID: #292186
Bewertung:
(68726 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> 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/.

Viele Grüße
Martin




als Antwort auf: [#292182]
(Dieser Beitrag wurde von Martin Fischer am 18. Mai 2007, 18:52 geändert)

GREP - erste Versuche - Bedeutung der Klammern?!

Kai Rübsamen
  
Beiträge gesamt: 4664

18. Mai 2007, 19:07
Beitrag # 5 von 30
Beitrag ID: #292188
Bewertung:
(68717 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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 Rübsamen


als Antwort auf: [#292186]

GREP - erste Versuche - Bedeutung der Klammern?!

Ralf Hobirk
Beiträge gesamt: 5955

18. Mai 2007, 19:15
Beitrag # 6 von 30
Beitrag ID: #292190
Bewertung:
(68711 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)


als Antwort auf: [#292186]

GREP - erste Versuche - Bedeutung der Klammern?!

Kai Rübsamen
  
Beiträge gesamt: 4664

18. Mai 2007, 19:33
Beitrag # 7 von 30
Beitrag ID: #292193
Bewertung:
(68699 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@ 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 Rübsamen


als Antwort auf: [#292190]
(Dieser Beitrag wurde von ruebi am 18. Mai 2007, 19:36 geändert)

GREP - erste Versuche - Bedeutung der Klammern?!

Ralf Hobirk
Beiträge gesamt: 5955

18. Mai 2007, 19:46
Beitrag # 8 von 30
Beitrag ID: #292195
Bewertung:
(68689 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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...

---
Viele Grüße,
Ralf
---
iMac i7 (18,3) 4,2 GHz, 32 GB 10.15.7 Catalina | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB, 10.13.6 High Sierra | Mac Mini (6,1) als Server 2,5 GHz, 8 GB, 10.13.6 High Sierra | CC 2021 (ID 16.3.2)


als Antwort auf: [#292193]

GREP - erste Versuche - Bedeutung der Klammern?!

Martin Fischer
  
Beiträge gesamt: 12626

18. Mai 2007, 20:03
Beitrag # 9 von 30
Beitrag ID: #292196
Bewertung:
(68678 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> [] 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

Viele Grüße
Martin




als Antwort auf: [#292195]

GREP - erste Versuche - Bedeutung der Klammern?!

Robert Zacherl
Beiträge gesamt: 4153

18. Mai 2007, 20:08
Beitrag # 10 von 30
Beitrag ID: #292198
Bewertung: |||
(68675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

GREP - erste Versuche - Bedeutung der Klammern?!

Kai Rübsamen
  
Beiträge gesamt: 4664

18. Mai 2007, 20:20
Beitrag # 11 von 30
Beitrag ID: #292199
Bewertung: |
(68666 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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 Rübsamen


als Antwort auf: [#292172]

GREP - erste Versuche

Gerald Singelmann
  
Beiträge gesamt: 6259

18. Mai 2007, 20:47
Beitrag # 12 von 30
Beitrag ID: #292202
Bewertung: |||
(68656 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.


als Antwort auf: [#292175]

GREP - erste Versuche

Gerald Singelmann
  
Beiträge gesamt: 6259

18. Mai 2007, 21:04
Beitrag # 13 von 30
Beitrag ID: #292204
Bewertung: |
(68646 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
In einem anderen Forum fragte grad jemand, ob andere bei "grep" nicht auch an einen schlechtgelaunten Frosch denken müssten.


als Antwort auf: [#292202]

GREP - erste Versuche - Bedeutung der Klammern?!

Thomas Richard
Beiträge gesamt: 19081

18. Mai 2007, 22:20
Beitrag # 14 von 30
Beitrag ID: #292213
Bewertung: ||
(68627 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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]

GREP - erste Versuche - Bedeutung der Klammern?!

Kai Rübsamen
  
Beiträge gesamt: 4664

19. Mai 2007, 13:09
Beitrag # 15 von 30
Beitrag ID: #292255
Bewertung: |
(68578 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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 Rübsamen


als Antwort auf: [#292213]
(Dieser Beitrag wurde von ruebi am 19. Mai 2007, 14:02 geändert)
X

Aktuell

InDesign / Illustrator
ScreenShot 274 Warum Templates in InDesign benutzen_ - Satzkiste in Stuttgart - Satz und technische Umsetzung - Google Chrome (300x300 HilfDirSelbst)

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022
Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022