markus: suchmuster in ordung??

hallo, ich wollt mal wissen ob es bei suchmustern eine bestimmte reihenfolge gibt, also ob man zuerst die buchstaben eingeben sollt und dann die Zeichen oder kann man alles irgenwie eingeben.

ist deises suchmuster von der reihenfolger her richtig:

/[1]+$/


  1. \w\s@äöüÄÖÜ.,!?- ↩︎

  1. Halihallo markus

    /[1]+$/

    perldoc perlre

    [] ist eine Menge (und per Definition ungeordnet). In deiner RegExp wird lediglich
    überprüft, ob das aktuelle Element (Byte) einem aus der Menge (Character Class)
    entspricht. Da es in einer Character Class keine Ordnung gibt, ist es egal, was du zuerst
    und zuletzt schreibst.
    Desweiteren solltest du dich darüber infomieren, welche Zeichen escaped werden müssen,
    einige haben eine spezielle Bedeutung in RegExp (steht ebenfalls in perldoc perlre).

    Viele Grüsse

    Philipp

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.

    1. \w\s@äöüÄÖÜ.,!?- ↩︎

    1. ok ich habe jetzt alles gemacht.

      aber noch eine frage:
      man kann doch in der shell durch bestimmte zeichen schaden anrichten. z.b. durch "rm -rf /". was passiert wenn ich alle verbotenen zeichen in dieses zeichen ° umwandle. kann dann jemand, wenn er raus findet das alle verbotenen zeichen in dieses ° zeichen umgewandelt werden, noch irgendetwas anstellen.

      1. Halihallo markus

        man kann doch in der shell durch bestimmte zeichen schaden anrichten. z.b. durch "rm -rf /". was passiert wenn ich alle verbotenen zeichen in dieses zeichen ° umwandle. kann dann jemand, wenn er raus findet das alle verbotenen zeichen in dieses ° zeichen umgewandelt werden, noch irgendetwas anstellen.

        In welchem Kontext verwendest du das Programm? - Woher kommen die Inputparameter?
        Und wohin bzw. wozu geht/brauchst du den Inputparameter? - Wie sieht der _Quelltext_ aus?

        • Ohne diese Fragen zu beantworten werde ich zumindest nicht antworten können/wollen.

        Deine Frage lässt sich allgemein nicht beantworten, auch wenn ich glaube, dass man
        normalerweise mit einem ° wenig anstellen kann. Im Sinne einer guten Programmierung
        jedoch, würde ich ein unerlaubtes Zeichen gar nicht erst zulassen (keine Konvertierung
        zu ° nötig), zudem: Woher weisst du, dass ein ° in _keinem_ Betriebssystem oder Shell
        etwas bedeuten könnte (zumal es mehrere OS und Shells gibt ist wenn möglich eine
        allgemeine Lösung anzustreben)?

        Oder anders: Wie definierst du "verbotene Zeichen", aus welchen Zeichen besteht diese
        Menge?

        Viele Grüsse

        Philipp

        --
        RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
        Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
        1. hi,

          also die input-parameter kommen von einem formular das mit post, die parameter an mein perl-prog gibt. die felder werden überprüft und wenn verbotene zeichen, dann werden sie in dieses ° zeichen umgewandelt. danach werden die daten an mich per email übertragen.

          ich will dieses zeichen verwenden, damit ich erkennen kann das da einmal ein zeichen, wie z.B. ", an der stelle war.

  2. Hi

    ist deises suchmuster von der reihenfolger her richtig:

    /[1]+$/

    Wenn du die Zeichen in einer eckigen Klammer hast ist das egal, da sie dann ja als ODER gesucht werden. Ob du "a ODER b" suchst oder ob du "B oder A" suchst ist ja egal.

    Allerdings mußt du noch einige weitere Zeichen escapen, also

    /[2]+$/

    Denn der "." würde sonst "irgentein Zeichen" bedeuten, "!" bedeutet "NICHT" etc.

    Gruß

    csx


    1. \w\s@äöüÄÖÜ.,!?- ↩︎

    2. \w\s@äöüÄÖÜ.,!?- ↩︎

    1. Hi csx,

      Allerdings mußt du noch einige weitere Zeichen escapen

      Richtiger Hinweis, aber

      /[1]+$/

      ^^  ^^
      In diesem Ausdruck müssen nur der "." und das "?" gematcht werden, die anderen nicht.
      http://www.perldoc.com/perl5.8.0/pod/perlre.html#Regular-Expressions

      Viele Grüße
      Torsten


      1. \w\s@äöüÄÖÜ.,!?- ↩︎

      1. Hi Torsten

        /[1]+$/
                             ^^  ^^
        In diesem Ausdruck müssen nur der "." und das "?" gematcht werden, die anderen nicht.

        Joo, hast Recht. Schaden tut's aber (IIRC) auch nicht. Wenigstens den "-" escape ich eigentlich immer, damit ich den nicht ausversehen zur definition eines ASCII-Zeichenraumes ([A-C] oder so) verwende...

        gruß
        csx


        1. \w\s@äöüÄÖÜ.,!?- ↩︎