[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt GREP-Frage

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

GREP-Frage

faxinger666
Beiträge gesamt: 60

20. Sep 2017, 16:42
Beitrag # 1 von 8
Bewertung:
(4025 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, ich steh mal wieder aufm Schlauch und bitte um eure Mithilfe:
Ich möchte folgendes erreichen:
Finde genau dieses Zeichen aus den Strings:

12_AZU_2517_555
3_AZL_27_BB

Mein Ansatz ist:
\d{1,2}_AZ?

Aber ich denke es sollte ein positives Lookahead eingebaut werden um genau diesen Buchstaben zu finden...

Um es auch in Worten zu schreiben:
Finde jenen Buchstaben der hinter AZ steht, das AZ hat davor immer einen Unterstrich. Der Unterstrich hat immer ein oder zwei Ziffern.

Oder bin ich komplett falsch?

(Dieser Beitrag wurde von faxinger666 am 20. Sep 2017, 16:43 geändert)
X

GREP-Frage

Ralf Hobirk
Beiträge gesamt: 5823

20. Sep 2017, 17:48
Beitrag # 2 von 8
Beitrag ID: #559552
Bewertung:
(4010 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

dein Ansatz ist falsch ;-)

Du brauchst zunächst einen positiven Lookbehind, der "_AZ" findet. Dann suchst du ein Wortzeichen (alternativ einen Großbuchstaben), und anscxhließend nochmal einen positiven Lookahead, der "_" findet.

Finde ein Wortzeichen:
Code
(?<=_AZ)\w(?=_) 

Finde einen Großbuchstaben:
Code
(?<=_AZ)\u(?=_) 


Anmerkung: Nach den Zahlen am Anfang kannst du nicht suchen, da ein Lookbehind keine Variablen enthalten darf, wie z. B. "\d".

Es gäbe eventuell noch eine Alternative, falls du auch nach den Zahlen am Anfang suchen musst. Dies hängt jedoch davon ab, was mit dem gefundenen Buchstaben gemacht werden soll.

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)


als Antwort auf: [#559549]

GREP-Frage

pixxxelschubser
Beiträge gesamt: 1564

20. Sep 2017, 20:14
Beitrag # 3 von 8
Beitrag ID: #559559
Bewertung:
(4002 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: … Anmerkung: Nach den Zahlen am Anfang kannst du nicht suchen, da ein Lookbehind keine Variablen enthalten darf, wie z. B. "\d" …


Kleine Korrektur:
Variablen dürfen schon enthalten sein. Es konnte früher „nur“ nicht nach Suchstrings mit variabler Länge gesucht werden.
Seit CS6 funktioniert das mittlerweile.
Wink
Code
\d{1,2}_AZ\K\u 


würde eigentlich reicht schon reichen.

Aber wenn man auf Nummer sicher gehen will/muss, dann nimmt man den positiven Lookahead mit Unterstrich und Ziffer noch mit dazu.
Code
\d{1,2}_AZ\K\u(?=_\d) 


Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#559552]

GREP-Frage

faxinger666
Beiträge gesamt: 60

21. Sep 2017, 17:26
Beitrag # 4 von 8
Beitrag ID: #559572
Bewertung:
(3921 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf und pixxelschubser!

Vielen Dank für eure Antworten.

Letztlich ist mein Ziel via Javascript diesen Buchstaben der Teil des ID-Dokumenten-Namens ist ausfindig zu machen und als Variable zu speichern.
Code
 var fName = document.name;  
alert (fName);


Und dabei geht es mir nur um diesen einen Buchstaben aus der Kette.

Vielleicht geht das in JS auch eleganter als über die GREP-Abfrage.

Wichtig ist dass am Anfang des Dateinamens manchmal eine und manchmal zwei Ziffern stehen.
DH. die Länge des Dateinamens variiert, somit kann ich diesen Buchstaben nicht über den Index des Buchstabens angreifen.

LG
faxinger666


als Antwort auf: [#559559]

GREP-Frage

Ralf Hobirk
Beiträge gesamt: 5823

21. Sep 2017, 18:10
Beitrag # 5 von 8
Beitrag ID: #559575
Bewertung:
(3914 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Faxinger,

ich bin zwar nicht wirklich ein Scripter, aber diese Codezeile sollte m. E. das gewünschte Ergebnis liefern:

Code
app.findGrepPreferences.findWhat = '\\d{1,2}_AZ\\K\\u(?=_\\d) '; 


Ich habe Pixxxels GREP dafür genommen, weil der eleganter ist als meiner ;-)

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)


als Antwort auf: [#559572]

GREP-Frage

Kai Rübsamen
Beiträge gesamt: 4585

21. Sep 2017, 18:55
Beitrag # 6 von 8
Beitrag ID: #559576
Bewertung:
(3906 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Ralf,

deine Zeile füllt das Suchen-Feld. Damit könnte man im Anschluss einen Text INNERHALB des Dokuments durchsuchen. Er will aber Teile des Dokumentnamens prüfen.

Hier gibt es jetzt versch. Möglichkeiten, den String aufzuteilen und dann zu prüfen. Wenn wir bei Regulären Ausdrücken bleiben:

Irre ich mich, oder funktioniert weder
\K
(?<=)
\u

Ich habs daher so gebaut:
Code
var curDoc = app.activeDocument; 
var docName = curDoc.name;

var regex = /\d{1,2}_AZ([A-Z])(?=_\d)/;

if (docName.match(regex)) {
var treffer = docName.match(regex);
alert(treffer[1]);
}


Gruß Kai Rübsamen


als Antwort auf: [#559575]

GREP-Frage

pixxxelschubser
Beiträge gesamt: 1564

21. Sep 2017, 20:08
Beitrag # 7 von 8
Beitrag ID: #559579
Bewertung:
(3884 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kai,
du irrst dich nicht. Diese regulären Ausdrücke funktionieren innerhalb von Adobe Extendscript nur in den winzigen Grenzen der InDesign Javascript-GrepPreferences.

Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#559576]

GREP-Frage

faxinger666
Beiträge gesamt: 60

22. Sep 2017, 15:15
Beitrag # 8 von 8
Beitrag ID: #559596
Bewertung:
(3812 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen vielen Dank an alle die geholfen haben.

Das Skript von Kai funktioniert perfekt - das ist genau das was ich wollte.

Schönes Wochenende

LG
faxinger


als Antwort auf: [#559576]
Hier Klicken X

Farbmanagement

Farbmanagement
din_300

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
13.12.2018 - 20.12.2018

3400 Burgdorf, BE
Donnerstag, 13. Dez. 2018, 09.00 Uhr - Donnerstag, 20. Dez. 2018, 09.00 Uhr

Workshop

Schritt für Schritt: Planen, konzipieren und Umsetzen einer responsiven Website mit Wordpress: Lokalen Server einrichten; Frontend/Backend; Vorgehen Schritt für Schritt bis zur fertigen Site.

2-Tages-Workshop CHF 990.00

Ja

Organisator: PubliCollege GmbH

Kontaktinformation: Beat Kipfer, E-Mailinfo AT publicollege DOT ch

www.publicollege.ch

Websites erstellen mit Wordpress und Elementor Pro
Veranstaltungen
13.12.2018

Impressed GmbH, Hamburg
Donnerstag, 13. Dez. 2018, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen in diesem kostenlosen ca. halbstündigen Webinar das neue Enfocus Switch PDF Review Modul zur Freigabe von PDF-Druckdaten vor. Wir zeigen Ihnen, wie Sie die Lösung in bestehende Enfocus Switch-Workflows einbinden und somit die Freigabeprozesse mit Ihren Kunden erheblich beschleunigen können.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

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

Enfocus Switch PDF Review Modul