[GastForen Programme Print/Bildbearbeitung Adobe InDesign GREP-Nuss

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

GREP-Nuss

Ralf Hobirk
Beiträge gesamt: 5955

17. Jan 2010, 21:49
Beitrag # 1 von 19
Bewertung:
(7062 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich versuche gerade, eine GREP-Nuss zu knacken, was mir aber nicht gelingen will.

Ausgangssituation:
Ich habe einen String, bestehend aus ein fünf Sternen (*, **, ***, ****, *****), gefolgt von einem Leerzeichen.

Zwischen dem letzten Stern und dem Leerzeichen soll ein "Verschachteltes Format hier beenden" (?) (End Nested Style Here) eingefügt werden.

Das funktioniert mit folgendem GREP:
Code
Suche: (\*)(\s) 
Ersetze: $1~h$2

Mein GREP soll aber nicht "destruktiv" sein, d.h. er muss im Rahmen eines Scripts beliebig oft ablaufen können, ohne jedes Mal erneut das Zeichen "Verschachteltes Format hier beenden" einzufügen.

Das erreiche ich grundsätzlich mit folgendem GREP:
Code
Suche: (\*[^~h])(\s) 
Ersetze: $1~h$2


Dieser GREP "erwischt" aber immer die letzten zwei Sterne, nicht nur den letzten. Und wenn es nur einen einzigen Stern gibt, wird gar nichts gefunden…

---
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)
X

GREP-Nuss

Ralf Hobirk
Beiträge gesamt: 5955

17. Jan 2010, 22:29
Beitrag # 2 von 19
Beitrag ID: #430486
Bewertung:
(7039 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hmmm… Tippfehler-Teufel!

Statt
Zitat Ich habe einen String, bestehend aus ein fünf Sternen

muss es heißen:

Ich habe einen String, bestehend aus ein, zwei, drei, vier oder fünf Sternen

---
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: [#430483]

GREP-Nuss

Quarz
Beiträge gesamt: 3488

17. Jan 2010, 22:32
Beitrag # 3 von 19
Beitrag ID: #430487
Bewertung:
(7039 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf,

Dein Muster (*, **, ***, ****, *****) ist aber
anders als Deine Beschreibung.

Ich habe das GREP mit folgendem Muster getestet:
(* , ** , *** , **** , ***** )

Verschachteltes Format hier beenden habe ich durch ein
Geviert ersetzt, damit ich eine bessere Kontrolle habe.


Suche nach:
(?<!~m)(\*)(?= )
Ändern in:
~m$1

Suche \* vor Space (?= ), wenn nicht davor (?<!~m) ein Geviert


Gruß
Quarz

--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#430483]

GREP-Nuss

Ralf Hobirk
Beiträge gesamt: 5955

17. Jan 2010, 22:37
Beitrag # 4 von 19
Beitrag ID: #430488
Bewertung:
(7034 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

sorry, ich habe mich missverständlich ausgedrückt. Der String ist entweder *, **, ***, **** oder *****. Also immer nur eine der genannten Möglichkeiten.

Ein paar Beispiele im Klartext:

Hotel Blabla** Ort
Hotel Blabla**** Ort

Da "Ort" (und das was darauf evtl. noch folgt) ein anderes Zeichenformat als der ganze Krempel davor haben muss, brauche ich das Zeichen "Verschachteltes Format endet hier".

---
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: [#430487]

GREP-Nuss

Quarz
Beiträge gesamt: 3488

17. Jan 2010, 22:48
Beitrag # 5 von 19
Beitrag ID: #430490
Bewertung:
(7027 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf,

wie wäre es hiermit?

Suche nach:
(?<!~h)(?<=\*)( )
Ändern in:
~h$1


Gruß
Quarz

--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#430488]

GREP-Nuss

Gerald Singelmann
  
Beiträge gesamt: 6259

18. Jan 2010, 01:27
Beitrag # 6 von 19
Beitrag ID: #430492
Bewertung:
(6990 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat ohne jedes Mal erneut das Zeichen "Verschachteltes Format hier beenden" einzufügen.


Wenn du nach \*(?=\s) suchst und gegen *~h ersetzt, dann wird dieser Stern doch beim nächsten Mal nicht gefunden, weil zwischen ihm und dem \s ein ~h liegt, oder?

Insofern verstehe ich wohl das Problem nicht.


als Antwort auf: [#430483]

GREP-Nuss

Quarz
Beiträge gesamt: 3488

18. Jan 2010, 08:22
Beitrag # 7 von 19
Beitrag ID: #430499
Bewertung:
(6930 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

ich habe ~h an das Space gesetzt, sodass er
den Stern noch finden kann.


Gruß
Quarz

--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#430492]

GREP-Nuss

Gerald Singelmann
  
Beiträge gesamt: 6259

18. Jan 2010, 09:26
Beitrag # 8 von 19
Beitrag ID: #430507
Bewertung:
(6908 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,

äh... was??

Ralf macht einen Katalog, darin gibt es Hotelbezeichnungen mit Hotelbewertungsangaben und der Angabe, wo die sind.
Also:
Hotel Blabla*** Kairo
Hotel Traraa**** Assuan
Hotel Umpa* München
Hotel Alaaf** Köln

Die würde er gern per verschachteltem Format so formatieren:
Hotel Blabla*** Kairo
Hotel Traraa**** Assuan
Hotel Umpa* München
Hotel Alaaf** Köln

Dazu muss nach dem letzten Stern ein "End nested format here" eingefügt werden. Aber nur eins.

Wenn zwischen dem Stern und dem Leerzeichen bereits ein "End nested format here" eingefügt wurde, soll beim nächsten Suchvorgang nicht erneut ein "End nested format here" eingefügt werden.

Was ich weder bei Ralfs Frage, noch bei deiner Erklärung von heute morgen verstehe: wenn ich nach "Stern gefolgt von einem Leerzeichen" suche und dann dazwischen ein Nicht-Leerzeichen einfüge, dann werde ich diese Stelle beim nächsten Suchvorgang nicht finden.
Das ist doch, was ich will, oder? Genauer: das ist doch, was Ralf will, oder?

Interessant: hast du deinen Vorschlag
Zitat Suche nach:
(?<!~h)(?<=\*)( )
Ändern in:
~h$1

ausprobiert? Ich bin noch nie auf die Idee gekommen, zwei Lookbehinds hintereinander zu schreiben und bin mir überhaupt nicht sicher, was da das definierte Verhalten ist...


als Antwort auf: [#430499]

GREP-Nuss

Quarz
Beiträge gesamt: 3488

18. Jan 2010, 10:31
Beitrag # 9 von 19
Beitrag ID: #430516
Bewertung:
(6882 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerald,

ich habe es an Ralfs letztem Beispiel ausprobiert.

Suche nach:
(?<!~h)(?<=\*)( )
Ändern in:
~h$1

Das soll heißen:
Suche Space vor *, wenn nicht davor ~h steht.
Ersetze ~h und Space

Vielleicht kann man das auch andersherum schreiben;
aber es funktioniert.


Gruß
Quarz

--------------------------------------------
InDesign CS4 ver6.04 | WinXP SP3



als Antwort auf: [#430507]

GREP-Nuss

Gerald Singelmann
  
Beiträge gesamt: 6259

18. Jan 2010, 10:37
Beitrag # 10 von 19
Beitrag ID: #430517
Bewertung:
(6873 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Woa, nicht schlecht.

Ich finde meinen Vorschlag trotzdem sehr viel einfacher ;)

Mal schauen, was Ralf sagt.


als Antwort auf: [#430516]

GREP-Nuss

Ralf Hobirk
Beiträge gesamt: 5955

18. Jan 2010, 10:55
Beitrag # 11 von 19
Beitrag ID: #430526
Bewertung:
(6858 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz,
hallo Gerald,

offensichtlich habe ich trotz zweier Nachträge zu meinem Eingangsposting eine wesentliche Sache vergessen zu schreiben (Der Grund für meine "Dusseligkeit" steht am Ende dieses Postings):

Sowohl
Code
(\*)(\s) 

als auch
Code
\*(?=\s) 

finden auch den String *[End Nested Style Here][Leerzeichen].
Als wenn das "End Nested Style Here" auch von "\s" gefunden würde. Deshalb wollte ich es mit diesem GREP ausdrücklich von der Suche ausschließen:
Code
(\*[^~h])(\s) 

Womit ich aber seltsamerweise nur 2 Sterne finden kann, nicht einen einzelnen. In der Praxis könnte ich damit im Augenblick leben, da ich nicht glaube, dass ein einzelner Stern überhaupt vorkommt (Wer bucht schon ein 1-Sterne-Hotel :-)). Aber grundsätzlich stellt es mich natürlich nicht zufrieden…

Quarz' GREP
Code
(?<!~h)(?<=\*)( ) 

den man auch so schreiben könnte:
Code
(?<!~h)(?<=\*)(\s) 

ist jedoch ein echter Volltreffer!

Kompliment und vielen Dank! Ich werde mich später mal intensiv mit dem doppelten Lookbehind auseinandersetzen.


P.S.: Hier hat es gestern Abend und in der Nacht zum ersten Mal seit 10 Jahren geregnet. Dafür aber jetzt drei Gewitter mit Wolkenbrüchen in Folge… Dachziegel, Dachrinnen oder Bauisolierung existieren hier nicht. Ich brauche jetzt das Haus nicht mehr zu verlassen, um schwimmen zu gehen :-( Handtücher und Badelaken haben meinen Mac vor dem Schlimmsten bewahrt. Bevor ich den GREP auseinandernehme, muss ich jetzt erstmal bis zu 4 cm hoch stehendes Restwasser und Sandschlamm aus meiner Hütte entfernen… Damit ich meine Alu-Tastatur auch wieder ohne permanente Stromschläge verwenden kann.

---
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: [#430507]

GREP-Nuss

Marco Morgenthaler
Beiträge gesamt: 2474

18. Jan 2010, 12:32
Beitrag # 12 von 19
Beitrag ID: #430551
Bewertung:
(6822 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Quarz

Eine tolle Lösung, Kompliment! Offenbar ist es möglich, mehrere Lookbehinds (bzw. Lookaheads) zu kombinieren, was die Feinheit der Suche verbessern kann.
Beispiel für 3 Lookaheads:
Suchen nach: \*(?!~h)(?=\s)(?!\sAssuan)
Ändern in: *~h

Also: Suche *, wenn nachher kein «Verschachteltes Format hier beenden» (~h) steht, sondern ein Leerzeichen (\s), aber kein Leerzeichen gefolgt vom Wort «Assuan».

Sehr praktisch zu wissen, vielen Dank.

Gruss, Marco

PS: Ralfs Aufgabe könnte man auch mit einer Textsuche (ohne Grep) erledigen:
Suchen nach: *[LS]
Ändern in: *^h[LS]
[LS] = Leerschlag
Anders als mit einem analogen Grep wird hier das Sonderzeichen auch bei wiederholter Änderung immer nur einmal gesetzt.

iMac 3.06 GHz | 8 GB RAM | OS X 10.6.8 | Indesign 7.0.4 (CS5 Design Premium) | CS6 Design Standard | www.manuseum.ch


als Antwort auf: [#430516]

GREP-Nuss

Ralf Hobirk
Beiträge gesamt: 5955

18. Jan 2010, 14:29
Beitrag # 13 von 19
Beitrag ID: #430579
Bewertung:
(6791 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Marco,

Antwort auf: Ralfs Aufgabe könnte man auch mit einer Textsuche (ohne Grep) erledigen

Vor lauter "GREP-Enthusiasmus" vergesse ich immer wieder, dass es in InDesign nach wie vor die gute alte Text-Suche gibt ;-)

Du hast natürlich vollkommen Recht und ich (wie auch Quarz und Gerald) hätte mir jede Menge Kopfzerbrechen sparen können…

---
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: [#430551]

GREP-Nuss

Uwe Laubender
Beiträge gesamt: 5221

18. Jan 2010, 18:25
Beitrag # 14 von 19
Beitrag ID: #430608
Bewertung:
(6759 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Marco!
Ich weiß nicht, ob die Darstellung der Forenbeiträge nur bei mir "spinnt"? Anbei die Darstellung Deiner GREP-Ausdrücke als Screenshot.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#430551]
Anhang:
GREP-Darstellung.png (46.7 KB)

GREP-Nuss

mk-will
Beiträge gesamt: 1211

18. Jan 2010, 19:14
Beitrag # 15 von 19
Beitrag ID: #430613
Bewertung:
(6734 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

nein, nicht nur bei Dir.
Bei mir sieht es genauso aus.

Gruß
Stephan


als Antwort auf: [#430608]
X

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
29.09.2022

IDUGS#85 Press2id

Zoom Meeting
Donnerstag, 29. Sept. 2022, 19.00 - 21.00 Uhr

Vortrag

Kennst du WordPress? Vielleicht. Verwendest du WordPress? Ja, klar! WordPress ist das am weitesten verbreitete System für die Erstellung von Webseiten. Um Webseitenbau soll es auf dieser IDUG aber nicht gehen. Gregor zeigt press2id (github.com/grefel/press2id). Seine Open-Source-Lösung für die Verbindung von Web und InDesign. Richtig gelesen: InDesign liest mithilfe von press2id die Inhalte der WordPress-Webseiten und generiert daraus Zeitschriften, Kataloge, Programmhefte oder Bierdeckel (das zeigen wir natürlich auch!). So wird die „Content First“ Theorie zu einer konkret anwendbaren Praxis, ohne gleich die ganz großen Räder zu drehen. Versprochen: Jeder kann nach der IDUG innerhalb kürzester Zeit Daten von WordPress nach InDesign importieren. Aber Achtung: Prinzipiell kann press2id aus jeder Website, oder besser Contentmanagementsystem (CMS) Daten auslesen und nach InDesign importieren! Spannend, oder? Danach geht es in die Praxis: Stefan hat die Webseite des Parktheater Iserlohn (parktheater-iserlohn.de) gestaltet. Die gedruckten Spielpläne (parktheater-iserlohn.de/interaktive-spielplaene) werden mit press2id realisiert. Wir schauen in den Maschinenraum und zeigen, wie die Lösung des Projekts realisiert wurde.

Nein

Organisator: InDesign Usergroup Stuttgart

Kontaktinformation: Christoph Steffens, E-Mailidug AT satzkiste DOT de

https://idugs85.eventbrite.de/

Von Wordpress nach InDesign
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