Christian Bliß: regulärer Ausdruck gesucht

Hallo,
würde gerne ein Feld ($name) folgender Prüfung unterzeihen:

Das Feld darf enthalten:
1. Großbuchstaben
2. Kleinbuchstaben
3. Leerzeichen
4. Den Punkt "."
sonst nichts!

Welchen regulären Ausdruck kann ich verwenden ? Welche Abfrage (if oder unless)?

  1. Hallo,

    1. Großbuchstaben

    "A-Z"

    1. Kleinbuchstaben

    "a-z"

    1. Leerzeichen

    " "

    1. Den Punkt "."

    "."

    sonst nichts!

    /[1]$/ sollte also funktionieren.

    Viele Grüße,

    Stefan

    --
    Lass dir das Tanzen NICHT verbieten
    http://tanzverbot.de

    1. A-Za-z . ↩︎

    1. Hallo,

      /[1]$/ sollte also funktionieren.

      Verdammt, jetzt wo ich die Posts von Siechfred und Pitt gelesen hab, da ist es mir so ganz zufällig eingefallen. Da oben fehlt noch das + (oder der *, je nach dem, was du erreichen willst).

      Viele Grüße,

      Stefan

      --
      Lass dir das Tanzen NICHT verbieten
      http://tanzverbot.de

      1. A-Za-z . ↩︎

  2. Hi,

    würde gerne ein Feld ($name) folgender Prüfung unterzeihen:

    1. Großbuchstaben
    2. Kleinbuchstaben
    3. Leerzeichen
    4. Den Punkt "."
      Welchen regulären Ausdruck kann ich verwenden ? Welche Abfrage (if oder unless)?

    Baue dir zunächst eine Zeichenklasse nach deinen Vorgaben, die beliebig oft vorkommen darf ("*"):

    $suchmuster = '[A-Za-z. ]*';

    Du willst, dass $name nur Zeichen deiner Klasse enthält, also muss es mit einem dieser Zeichen beginnen ("^"), beliebig oft vorkommen und natürlich auch mit einem dieser Zeichen enden ("$"). Das ganze ergibt dann:

    if ( $name =~ /^$suchmuster$/ ) {
      print "OK";
    }

    Ich hoffe, dass ich um die Uhrzeit nichts übersehen habe, teste es einfach mal.

    Viele Grüße
    Torsten

  3. hi,

    if($name =~ /[1]+$/) {
    print "alles ok";
    } else {
    print "verbotenes zeichen enthalten";
    }

    so könnte es aussehen.


    1. A-Za-z . ↩︎