[GastForen Programme Print/Bildbearbeitung Adobe InDesign GREP Datumformat, Hilfe gesucht

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

GREP Datumformat, Hilfe gesucht

herrwind
Beiträge gesamt: 47

13. Dez 2013, 13:28
Beitrag # 1 von 24
Bewertung:
(7947 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,

ich möchte dieses Datum-Format auslesen, bzw. nur der Monat+Zahl:

June 6, 1997

Diesen Code habe ich hinbekommen:
January ((?<= )[0-9]{1,2})?

Was ich nicht hinbekomme: Ich möchte, dass das Leerzeichen
zwischen Monat und Zeit nicht ausgezeichnet wird.June_6

Darüber hinaus wollte ich euch fragen, wie ich das am besten löse mit den 12 Monaten.

Muss ich denn immer schreiben: (January ((?<= )[0-9]{1,2})?|February ((?<= )[0-9]{1,2})?| … oder lässt sich das
schöner verpacken?

Danke!

(Dieser Beitrag wurde von herrwind am 13. Dez 2013, 13:29 geändert)
X

GREP Datumformat, Hilfe gesucht

Kai Rübsamen
  
Beiträge gesamt: 4684

13. Dez 2013, 15:21
Beitrag # 2 von 24
Beitrag ID: #520992
Bewertung:
(7903 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mir ist eigentlich nicht klar, was du hier vor hast. Viell. geht es mir nicht alleine so ;-)

Zunächst:
1. GREP oder GREP-Stil?
2. Du suchst also nur Monat u. Zahl?
3. Monat u. Zahl sollen einfach fett werden?
4. Monat wird rot, Leerzeichen u. Zahl schwarz?
5. Das Leerzeichen soll grün oder gar nicht formatiert werden, weil?

Dann:
Erklär mir mal bitte, was deiner Meinung nach durch den GREP-Ausdruck gefunden wird?
Mich würde interessieren, was du dir beim "?", Leerzeichen u. Lookbehind gedacht hast!


als Antwort auf: [#520984]

GREP Datumformat, Hilfe gesucht

herrwind
Beiträge gesamt: 47

13. Dez 2013, 15:30
Beitrag # 3 von 24
Beitrag ID: #520995
Bewertung:
(7896 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Kai Rübsamen ] Mir ist eigentlich nicht klar, was du hier vor hast. Viell. geht es mir nicht alleine so ;-)

Zunächst:
1. GREP oder GREP-Stil?
2. Du suchst also nur Monat u. Zahl?
3. Monat u. Zahl sollen einfach fett werden?
4. Monat wird rot, Leerzeichen u. Zahl schwarz?
5. Das Leerzeichen soll grün oder gar nicht formatiert werden, weil?

Dann:
Erklär mir mal bitte, was deiner Meinung nach durch den GREP-Ausdruck gefunden wird?
Mich würde interessieren, was du dir beim "?", Leerzeichen u. Lookbehind gedacht hast!

1. GREP-Stil
2. Ich suche nur Monat;[Leerzeichen];1,2-stellige Zahl
3. Monat und Zahl sollen fett werden, ja
4. Nein, Monat und Zahl gleich behandeln, Leerzeichen muss unberührt bleiben
5. Leerzeichen komplett ignorieren, ausgenommen der Bedingung für die Zusammensetzung Monat;[Leerzeichen];1,2-stellige Zahl

:) Danke


als Antwort auf: [#520992]

GREP Datumformat, Hilfe gesucht

Thomas Richard
Beiträge gesamt: 19334

13. Dez 2013, 16:13
Beitrag # 4 von 24
Beitrag ID: #521002
Bewertung:
(7865 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich denke, dann wirst du 2x suchen müssen.

Einmal für den Monat, und einmal für die Tagesziffern.

Also einmal links des Leerzeichens und einmal rechts davon.

Um die Suche abzusichern kannst du ja gerne nach der komplette Phrase suchen.


als Antwort auf: [#520995]

GREP Datumformat, Hilfe gesucht

Kai Rübsamen
  
Beiträge gesamt: 4684

13. Dez 2013, 16:32
Beitrag # 5 von 24
Beitrag ID: #521003
Bewertung:
(7851 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Oder du suchst den ganzen Ausdruck u. stellst dann das Leerzeichen zurück (siehe Screen). Das mit der Erklärung deines GREPs war übrigens ernst gemeint!


als Antwort auf: [#521002]
Anhang:
Bildschirmfoto 2013-12-13 um 16.31.05.png (78.7 KB)

GREP Datumformat, Hilfe gesucht

Thomas Richard
Beiträge gesamt: 19334

13. Dez 2013, 16:55
Beitrag # 6 von 24
Beitrag ID: #521004
Bewertung:
(7825 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dir ist in February was durchgerutscht ;-)

Ich habs hier mit einem positiven Lookahead für den Monatsnamen probiert und einem positiven Lookbehind für die Tage probiert, ersteres klappt, letzteres nicht!?

\w+(?=\s\d{1,2},\s\d{2,4})

(?<=\w+\s)\d{1,2}(?=,\s\d{2,4})


als Antwort auf: [#521003]

GREP Datumformat, Hilfe gesucht

Thomas Richard
Beiträge gesamt: 19334

13. Dez 2013, 17:22
Beitrag # 7 von 24
Beitrag ID: #521005
Bewertung:
(7795 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Thomas Richard ] (?<=\w+\s)\d{1,2}(?=,\s\d{2,4})


Jetzat:

Code
(?<=\w\s)\d{1,2}(?=,\s\d{2,4}\>) 


geht, aber

Code
(?<=\w+\s)\d{1,2}(?=,\s\d{2,4}\>) 


geht nicht.

Kann mir das mal jemand erklären? ID CS6 8.0.2 Mac


als Antwort auf: [#521004]

GREP Datumformat, Hilfe gesucht

herrwind
Beiträge gesamt: 47

13. Dez 2013, 17:25
Beitrag # 8 von 24
Beitrag ID: #521006
Bewertung:
(7791 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Thomas Richard ] Dir ist in February was durchgerutscht ;-)

Ich habs hier mit einem positiven Lookahead für den Monatsnamen probiert und einem positiven Lookbehind für die Tage probiert, ersteres klappt, letzteres nicht!?

\w+(?=\s\d{1,2},\s\d{2,4})

(?<=\w+\s)\d{1,2}(?=,\s\d{2,4})


Nee, so kann man das nicht lösen, aber die Schuld trage ich, weil ich es nicht genau erläutert habe.

Es muss gefunden werden:
[Monat][Leerzeichen][zweistellige Zahl]
aber auch nur [Monat], wenn es keine Zahl gibt.

weitere Bedingungen die ich nicht umgesetzt bekomme:
— wenn es keine zweistellige Zahl ist, soll nur der Monat gefunden werden.

Ohne Monatsnamen komme ich nicht aus, weil sich im Text noch zahlreiche andere zweistellige Zahlen befinden.


als Antwort auf: [#521004]

GREP Datumformat, Hilfe gesucht

Ralf Hobirk
Beiträge gesamt: 5961

13. Dez 2013, 17:55
Beitrag # 9 von 24
Beitrag ID: #521007
Bewertung:
(7753 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Kann mir das mal jemand erklären?

Zitat aus Peter Kahrels Buch "GREP in InDesign":
Zitat Lookbehind has a limitation in that the expression that it contains must always match items of the same length.

Will heißen, dass das "+" beim Lookbehind nicht greift ;-)


als Antwort auf: [#521005]

GREP Datumformat, Hilfe gesucht

Kai Rübsamen
  
Beiträge gesamt: 4684

13. Dez 2013, 19:56
Beitrag # 10 von 24
Beitrag ID: #521011
Bewertung:
(7694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Dir ist in February was durchgerutscht ;-)

Nö, den hab ich ausgelassen, damit der Rest noch ins Fenster passt. Den Grund für diese Schreibweise hat euch Ralf genannt.

Antwort auf: Nee, so kann man das nicht lösen, aber die Schuld trage ich, weil ich es nicht genau erläutert habe.

Hast du dir mal überlegt, dass das Leben viel einfacher wäre, wenn du jedes Mal eine idml vorher/nachher zur Verfügung stellen würdest?
Mich hätte z.B. auch mal deine Lösung in dem Länder-GREP-Thread interessiert. Die Lösung im Forum hätte auch "Indianer" gefunden. Deine Lösung hast du leider nicht verraten.

@Thomas: Wenn einer nach Januar, Februar usw. sucht, sollte man das auch im Ausdruck so formulieren u. nicht generell mit \w arbeiten. Das macht die Ausdrücke nicht nur besser lesbar, sondern dürfte auch performanter sein.

@ herrwind: Wenn du nur Monate finden willst, musst du den Rest eben optional setzen: (Jan|Feb|Mar|Jun|Dec)\w+(\s\d{1,2})?


als Antwort auf: [#521007]
(Dieser Beitrag wurde von Kai Rübsamen am 13. Dez 2013, 19:58 geändert)

GREP Datumformat, Hilfe gesucht

Thomas Richard
Beiträge gesamt: 19334

13. Dez 2013, 22:11
Beitrag # 11 von 24
Beitrag ID: #521013
Bewertung:
(7634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Kai Rübsamen ]
Antwort auf: Dir ist in February was durchgerutscht ;-)

Nö, den hab ich ausgelassen, damit der Rest noch ins Fenster passt. Den Grund für diese Schreibweise hat euch Ralf genannt.

Das mag sein, trotzdem darf das n nicht mit in den variablen Teil, weil eben January ein n vorm uary hat und February eben ein r.

Antwort auf [ Kai Rübsamen ] @Thomas: Wenn einer nach Januar, Februar usw. sucht, sollte man das auch im Ausdruck so formulieren u. nicht generell mit \w arbeiten. Das macht die Ausdrücke nicht nur besser lesbar,

Da gebe ich dir Recht. Ich gehe bei sowas immer vom universellen aus und individualisiere nur soweit nötig, wie du eben auch mit deinen Monatsteilen.

Antwort auf [ Kai Rübsamen ] sondern dürfte auch performanter sein.

Das Halte ich für unwahrscheinlich. Überleg dir wie grep sucht. Es frisst sich durch den kompletten Text, bis ein Treffer auftaucht, dann werden evtl. Einschränkungen abgeklopft. Wenn Optionen vorkommen, geht es für den Passus den Text mehrmals durch.
Sowas ist aber auch immer stark von der Implementierung abhängig, und da die in ID in Relation zu den CLI Versionen von grep deutlich anders ist, müsste man das konkret testen.

@ herrwind: Wenn du nur Monate finden willst, musst du den Rest eben optional setzen: (Jan|Feb|Mar|Jun|Dec)\w+(\s\d{1,2})?
Findet dann aber jegliche Monatserwähnungen im Text, oder?

Also ich vermute, dass das so nichts wird. Wenn die Datumsphrase nicht konkret auf ein tatsächliches Datum bestehend aus Tag und Monat begrenzt werden kann, ist die Gefahr gross, dass jegliche Erwähnung eines Monats zu einem Treffer führt.


als Antwort auf: [#521011]

GREP Datumformat, Hilfe gesucht

Thomas Richard
Beiträge gesamt: 19334

13. Dez 2013, 22:30
Beitrag # 12 von 24
Beitrag ID: #521014
Bewertung:
(7627 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Ralf Hobirk ]
Antwort auf: Kann mir das mal jemand erklären?

Zitat aus Peter Kahrels Buch "GREP in InDesign":
Zitat Lookbehind has a limitation in that the expression that it contains must always match items of the same length.

Will heißen, dass das "+" beim Lookbehind nicht greift ;-)

Danke Ralf!
Jetzt wo du es schreibst, dämmert mir, dass ich da schon mal dran gescheitert bin.


als Antwort auf: [#521007]

GREP Datumformat, Hilfe gesucht

Ralf Hobirk
Beiträge gesamt: 5961

13. Dez 2013, 22:34
Beitrag # 13 von 24
Beitrag ID: #521015
Bewertung:
(7624 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mach dir keine Gedanken, hat mich auch schon zur Verzweiflung gebracht ;-)


als Antwort auf: [#521014]

GREP Datumformat, Hilfe gesucht

Ralf Hobirk
Beiträge gesamt: 5961

13. Dez 2013, 22:40
Beitrag # 14 von 24
Beitrag ID: #521016
Bewertung:
(7622 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

Antwort auf: Wenn du nur Monate finden willst, musst du den Rest eben optional setzen: (Jan|Feb|Mar|Jun|Dec)\w+(\s\d{1,2})?
Findet dann aber jegliche Monatserwähnungen im Text, oder?

Das sollte nicht der Fall sein. Es wird ja nach dem Monatsnamen ausdrücklich nach einem Leerzeichen (\s) und 1 oder 2 Ziffern (\d{1,2}) gesucht.


als Antwort auf: [#521013]

GREP Datumformat, Hilfe gesucht

Thomas Richard
Beiträge gesamt: 19334

13. Dez 2013, 23:15
Beitrag # 15 von 24
Beitrag ID: #521019
Bewertung:
(7573 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ herrwind ] Es muss gefunden werden:
[Monat][Leerzeichen][zweistellige Zahl]
aber auch nur [Monat], wenn es keine Zahl gibt.


Meinen eigenen Einwänden zum Trotz, wäre dann das eine Lösung:

Code
(?<=[ary|rch|ril|May|une|uly|ust|ber]\s)\d{2}(?=,\s) 

(January|February|March|April|May|June|July|August|September|October|November|December)(?=(\s\d{2})?,\s)


Aber:
Zitat June 06, 1197

May 14, 1245
November 31, 2212
as of November 1, 12

in August, when the grain
December, 1945
September
so the color amber, is without any notice

truly 45, new


PS: DAS Leerzeichen vor den beiden \s baut mir die Forensoftware ein, die sind nicht da und gehören da auch nicht hin.


als Antwort auf: [#521006]
(Dieser Beitrag wurde von Thomas Richard am 13. Dez 2013, 23:18 geändert)
X