[GastForen Programmierung/Entwicklung AppleScript Reguläre Ausdrücke: Was ist "re-compile"?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Reguläre Ausdrücke: Was ist "re-compile"?

Goar
Beiträge gesamt: 395

12. Jul 2004, 20:54
Beitrag # 1 von 6
Bewertung:
(1853 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Scripter,

in der Bedienungsanleitung der Scripting Addition "Satimage" (ermöglicht u.a. Finden und Suchen/Ersetzen mit regulären Ausdrücken) wird an einer Stelle "re-compile" erwähnt; leider nicht näher erklärt.
Im Befehlsverzeichnis steht:

re_compile: compile a regular expression
 re_compile  plain text  -- the regular expression
  [case sensitive  boolean]  -- default true
  [regexpflag  plain text]  -- a subset of {"EXTENDED","NEWLINE","ICASE","NOSUB"}; default {"EXTENDED","NEWLINE"}
 Result:  re_pattern  -- an opaque pattern which may be used as the search string for "find text" and "change"

Aber hier kommt wieder meine berühmte lange Leitung zum Vorschein. Ich habe eine vage Vorstellung, worum es hier geht, mehr aber auch nicht. Erste Versuche, etwas hinter re_compile einzusetzen endeten damit, dass dieses Eingesetzte die message "re_compile" nicht versteht.

Kann jemand in groben Zügen erklären, was es mit diesem Befehl auf sich hat, wo und wie man ihn einsetzt und vielleicht noch ein kleines Beispiel dazugeben?

Danke, Goar
X

Reguläre Ausdrücke: Was ist "re-compile"?

Hans Haesler
  
Beiträge gesamt: 5826

13. Jul 2004, 00:23
Beitrag # 2 von 6
Beitrag ID: #418890
Bewertung:
(1852 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Goar,

auch ich habe es nicht geschafft, mit 're_compile' etwas anfangen zu können. Dieses Verb ist keine Erfindung
von Satimage, sondern wird seit langem für sehr spezielle Regex-Konstruktionen gebraucht.

Wenn Du im Textfeld der "Google"-Website "re_compile" (mitsamt Anführungszeichen) eingibst, dann bekommst
Du innert Kürze eine Menge Resultate. Aber ein halbe Stunde später bist Du "so klug als wie zuvor" …

>Re_compile returns a pointer to a regex structure. This information is also kept in the static area used by
>re_comp(); If the fold variable is true, the compiled regular expression will match either upper or lower case.

Anregung: Frage doch bei Satimage direkt an. Der Emmanuel Lévy ist sehr auskunftsfreudig. Vielleicht kann
er Dir ein verständliches Beispiel liefern.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418889]

Reguläre Ausdrücke: Was ist "re-compile"?

Goar
Beiträge gesamt: 395

14. Jul 2004, 21:32
Beitrag # 3 von 6
Beitrag ID: #418891
Bewertung:
(1852 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

meine Recherche hatte zu ganz ähnlichen Ergebnissen geführt, wie Du sie beschreibst. Aber jetzt:

Emmanuel hat mir eine Erklärung geschickt, die ich kurz übersetzt habe:
===
Du hast Recht, die beste Dokumentation ist derzeit &#133; das Verzeichnis der Satimage osax.

Wenn Du "find text" mit einem regex-Pattern benutzt, kompiliert der Befehl Dein Pattern zunächst in irgendwas Internes der regex-Maschine (es baut Tabellen und all so Sachen), dann lässt es diesen kompilierten Ausdruck ablaufen.

Mit "re_compile" kannst Du Dein Pattern ein für alle Mal kompilieren. "find text" akzeptiert als Pattern entweder einen String oder das Ergebnis von "re_compile".

Der Gebrauch von "re_compile" empfiehlt sich, wenn Du das Pattern häufig benutzt und wenn es auf Geschwindigkeit ankommt. Und natürlich, je komplizierter der reguläre Ausdruck, desto deutlicher beschleunigt "re_compile" das Script.

Also bei einem einfachen Beispiel können wir keinen besonderen Unterschied erkennen.

---
set x to "6000000"
set theRE to "^[0-9]+"

chrono
repeat 1000 times
 find text theRE in x with regexp
end repeat
quietmsg(chrono)

set theRE to re_compile theRE

chrono
repeat 1000 times
 find text theRE in x with regexp
end repeat
quietmsg(chrono)

0.28 second without re_compile
0.25 second with re_compile
---

===
Das hört sich doch interessant an. Ich habe mir jetzt einmal Jon&#146;s Commands besorgt und Deine Bedienungsanleitung zu "the ticks". ;-)

Gruß, Goar


als Antwort auf: [#418889]

Reguläre Ausdrücke: Was ist "re-compile"?

Hans Haesler
  
Beiträge gesamt: 5826

15. Jul 2004, 00:41
Beitrag # 4 von 6
Beitrag ID: #418892
Bewertung:
(1852 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Goar,

vielen Dank für Deine Nachforschungen und das Weiterleiten von Emmanuels Erklärung.

Zwei Anmerkungen zu den "Jon's Commands":
1. Leider ist der gute Jon allzu hilfreich und seine Scripting Addition konvertiert
im Hintergrund Pfade. Plötzlich findet man gewollt oder aus Versehen heraus, dass man
den Ausdruck 'file' weglassen kann. Und dann gibt man solch ein Script weiter und
prompt kommt ein Mail: "He, Dein Script funktioniert nicht!".

Um dieses Problem zu vermeiden, aktiviere ich "Jon's Commands" nur, wenn ich eine
Zeitmessung vornehmen will. Danach ab in den Papierkorb damit. Zum erneut Aktivieren:
die Datei auf den geschlossenen Systemordner ziehen, die Frage "Wollen Sie usw" mit
"OK" bestätigen. Dann in einem Skripteditor-Fenster die Rechnung 1 + 1 eintippen
und dieses Scriptchen ausführen. Damit aktualisiert das Scripting System den Inhalt
des Scripting-Additions-Ordners.

2. Die Ticks sind gut und recht, aber schon weniger präzise als die "MilliSecs.osax"
(unter Mac OS X). Zudem müssen mehrere Testläufe durchgeführt, das beste und das
schlechteste Resultat gestrichen werden, damit man einen verbindlichen Durchschnitt
ausrechnen kann. Und je nach Aufbau der Aufgabe stellt man öfters fest, dass jede
weitere Ausführung ein bisschen länger dauert.

Dennoch: ich habe dieses Hilfsmittel schon oft beigezogen, um ein Script zu optimieren.
Es ist auch möglich, die Ticks an mehreren Stellen zu messen, damit nicht relevante
Abschnitte oder auch das Anzeigen eines Dialoges (und die Reaktions-Zeit des Anwenders)
ausgeklammert werden können und so das Resultat nicht verfälschen.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418889]

Reguläre Ausdrücke: Was ist "re-compile"?

Goar
Beiträge gesamt: 395

21. Jul 2004, 13:57
Beitrag # 5 von 6
Beitrag ID: #418893
Bewertung:
(1852 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nachtrag zu re_compile.

Jetzt habe ich es einmal ausprobiert &#150; es ging nicht.
Emmanuel gefragt.
Schreibt, ich soll es mal in Smile (Scripteditor der Satimage-Software) probieren.
Da gings.
Keine Chance in Apples Scripteditor?
Antwort: "I think so", aber warum den Scripteditor verwenden und nicht Smile?

Mehr weiß ich jetzt nicht zu dem Thema.

Angenehmes Scripten, Goar


als Antwort auf: [#418889]

Reguläre Ausdrücke: Was ist "re-compile"?

Hans Haesler
  
Beiträge gesamt: 5826

21. Jul 2004, 14:35
Beitrag # 6 von 6
Beitrag ID: #418894
Bewertung:
(1852 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Goar,

danke für Deine Versuche, für Deine Anfragen an Emmanuel und die Rückmeldung.

Ehrlich gesagt ist mir die Oberfläche von Smile nicht sympathisch. Doch auch der Umstieg
vom Mac-OS-9 Skripteditoren zu jenem von Mac OS X fiel mir in Vor-Jaguar-Versionen nicht
leicht. Aber jetzt in Panther sind doch einige Fortschritte sichtbar: Das Ergebnis-Fenster
ist bei Bedarf mit Button-Klick als separates Objekt zu öffnen. Das Suchen- und Ersetzen
ist sehr wertvoll. Und an die farbigen Codezeilen habe ich mich inzwischen auch gewöhnt.

Aber alles Sträuben hilft nichts: Ich werde mich nächstens trotzdem mit Smile befassen
müssen, wenn ich Scripts upgraden muss, welche so komplizierte Dialoge benötigen, dass
mit dem einfachen Pashua nichts Befriedigendes zustandegebracht werden kann.

Hans Haesler <hsa@ringier.ch>


als Antwort auf: [#418889]
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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

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

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

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

Und es geht doch: Automatisierung im Großformatdruck!