Kleine: frage zu regexp.

hi ihr,

ich bastel schon seit ewigkeiten an einem muster mittels regexp herum

und zwar soll in das feld folgendes eingetragen werden dürfen:

  • sämtliche buchstaben mit leerzeichen
  • danach ein komma
  • danach eine zahl zwischen 1957-2007

ich wollte es so versuchen, dass man eingibt
19 + 5 + [7-9] oder
19 + [6-9] + [0-9] oder
200 + [0-7]

weiß aber nicht, wie ich da genau die klammern setzen muss

hat jemand rat?

liebe grüße

  1. Hallo,

    • sämtliche buchstaben mit leerzeichen
    • danach ein komma
    • danach eine zahl zwischen 1957-2007

    also eigentlich nichts Kompliziertes.

    ich wollte es so versuchen, dass man eingibt
    19 + 5 + [7-9] oder
    19 + [6-9] + [0-9] oder
    200 + [0-7]

    Außer man macht es kompliziert. Wenn man nicht Ziffern, sondern Zahlen, also Wertebereiche überprüfen muss, ist ein RegEx nicht das geeignete Mittel. Ich würde einfach auf "[A-Za-z\ ]+,[0-9]{4}" prüfen, und dann die vierstellige Zahl in einem zweiten Schritt tatsächlich als Zahlenwert prüfen.

    Ciao,
     Martin

    --
    Wenn Zeit das Kostbarste ist, was wir haben, dann ist Zeitverschwendung die größte aller Verschwendungen.
      (Benjamin Franklin, amerikanischer Tüftler und Politiker)
    1. @@Der Martin:

      nuqneH

      Wenn man nicht Ziffern, sondern Zahlen, also Wertebereiche überprüfen muss, ist ein RegEx nicht das geeignete Mittel.

      Prinzipiell ja, aber

      Ich würde einfach auf "[A-Za-z\ ]+,[0-9]{4}" prüfen, und dann die vierstellige Zahl in einem zweiten Schritt tatsächlich als Zahlenwert prüfen.

      wenn sowieso schon ein regulärer Ausdruck im Einsatz ist, kann er doch das gleich mit erledigen.

      Qapla'

      --
      Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
  2. @@Kleine:

    nuqneH

    • sämtliche buchstaben mit leerzeichen

    Was heißt sämtliche Buchstaben? Sämtliche lateinischen? Was ist mit denen anderer Schriften?

    • danach eine zahl zwischen 1957-2007

    ich wollte es so versuchen, dass man eingibt
    19 + 5 + [7-9] oder
    19 + [6-9] + [0-9] oder
    200 + [0-7]

    weiß aber nicht, wie ich da genau die klammern setzen muss

    Um die Oder-Verknüpfung:

    …(?:195[7-0]|19[6-9][0-9]|200[0-7])$

    Qapla'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)