Pit: Regex gesucht

Hallo,

ich suche den regulären Ausdruck für: String bis zu Leerzeichen, der mit AB beginnt und danach entweder e oder keinen weiteren Buchstaben hat und anschließend beliebig viele Ziffern bis zu einem Leerzeichen hat.

Ich dachte an: /[1]\w\d+\b/

Also: String soll mit AB beginnen, gefolgt von einem beliebigen Wortzeichen, 1-n Ziffern und nachfolgend einer Wortgrenze.

Irgendwie deucht mir aber, der Ausdruck macht nicht ganz, was er soll.

Wie muß er denn richtig lauten, bzw. was ist falsch an meinem Ausdruck?

Pit


  1. AB ↩︎

  1. hallo

    ... der mit AB beginnt ... Ich dachte an: /[1]\w\d+\b/

    Wie muß er denn richtig lauten, bzw. was ist falsch an meinem Ausdruck?

    Du suchst AB... Nicht A… oder B…


    1. AB ↩︎

  2. Tach!

    Ich dachte an: /[1]\w\d+\b/

    Also: String soll mit AB beginnen,

    [] ist eine Zeichenklasse, das heißt, ein (einzelnes) Zeichen aus dieser Klasse muss es sein. Wenn du aber die Sequenz AB haben möchtest, musst du auch AB wörtlich hinschreiben, nicht als "eins von denen".

    dedlfix.


    1. AB ↩︎

    1. [] ist eine Zeichenklasse, das heißt, ein (einzelnes) Zeichen aus dieser Klasse muss es sein. Wenn du aber die Sequenz AB haben möchtest, musst du auch AB wörtlich hinschreiben, nicht als "eins von denen".

      Hi dedlfix.

      danke erstmal, aber /^AB\w\d+\b/ matcht auch nicht wirklich…

      Pit

      1. Tach!

        danke erstmal, aber /^AB\w\d+\b/ matcht auch nicht wirklich…

        Dann wirf den Ausdruck zusammen mit Test-Daten mal in einen Online-RegExp-Tester, der erklärt dir genau, was da wie gewertet wird.

        dedlfix.

  3. Hallo Pit,

    ich suche den regulären Ausdruck für: String bis zu Leerzeichen, der mit AB beginnt und danach entweder e oder keinen weiteren Buchstaben hat und anschließend beliebig viele Ziffern bis zu einem Leerzeichen hat.

    Ich denke mal das ist ein Schreibfehler: „e“ gemeint ist „einen“

    Ich dachte an: /[1]\w\d+\b/

    Also: String soll mit AB beginnen, gefolgt von einem beliebigen Wortzeichen, 1-n Ziffern und nachfolgend einer Wortgrenze.

    /^AB[a-zA-Z]?\d*\s/

    bei \w sind auch die Ziffern mit dabei
    beliebig viele kann mindestens eins (+) oder auch keins (*) heißen
    \s liefert whitespace

    Bis demnächst
    Matthias

    --
    Pantoffeltierchen haben keine Hobbys.

    1. AB ↩︎

    1. Hallo matthias,

      Ich denke mal das ist ein Schreibfehler: „e“ gemeint ist „einen“

      Ja, stimmt.

      /^AB[a-zA-Z]?\d*\s/

      beliebig viele kann mindestens eins (+) oder auch keins (*) heißen

      Keine Ziffer darf nicht.

      \s liefert whitespace

      Deine Regex passt., danke. Wobei... sie matcht auch "husdfg e AB HUT", was nciht ganz korrekt wäre.

      bei \w sind auch die Ziffern mit dabei

      Das wäre aber doch egal, da anschließend ohnehin beliebig viele Ziffern folgen dürfen, oder?

      Übrigens matcht anscheinend ^AB\w\d+\b ebenfalls. Jedenfalls bei den Beispielen, die ich versucht habe.

      Pit

      1. Hallo Pit,

        /^AB[a-zA-Z]?\d*\s/

        beliebig viele kann mindestens eins (+) oder auch keins (*) heißen

        Keine Ziffer darf nicht.

        Dann muss ein + gesetzt werden.

        Deine Regex passt., danke. Wobei... sie matcht auch "husdfg e AB HUT"

        Nein.

        bei \w sind auch die Ziffern mit dabei

        Das wäre aber doch egal, da anschließend ohnehin beliebig viele Ziffern folgen dürfen, oder?

        Nein, da wäre AB45w44 auch möglich.

        Bis demnächst
        Matthias

        --
        Pantoffeltierchen haben keine Hobbys.
        1. Hallo Matthias,

          Deine Regex passt., danke. Wobei... sie matcht auch "husdfg e AB HUT"

          Nein.

          Ok, dann matcht eben "AB HUT husdfg e ", was aber auch falsch wäre. Aber ich glaube, dass das nicht Dein Fehler war, sondern meiner Beschreibung entspricht. "Beliebing viele Ziffern" sollte tatsächlich >= 1 Ziffer bedeuten.

          bei \w sind auch die Ziffern mit dabei

          Das wäre aber doch egal, da anschließend ohnehin beliebig viele Ziffern folgen dürfen, oder?

          Nein, da wäre AB45w44 auch möglich.

          Eigentlich dachte ich, dass \w nur ein einziges Zeichen zuläßt und da wäre mir egal, ob es eine Ziffer oder ein Buchstabe ist.

          Muß ich denn dann AB\w{1}\d+\b schreiben?

          Pit

          1. Hallo Pit,

            Nein, da wäre AB45w44 auch möglich.

            Eigentlich dachte ich, dass \w nur ein einziges Zeichen zuläßt und da wäre mir egal, ob es eine Ziffer oder ein Buchstabe ist.

            Ja, richtig, mein Fehler.

            Bis demnächst
            Matthias

            --
            Pantoffeltierchen haben keine Hobbys.
      2. @@Pit

        Übrigens matcht anscheinend ^AB\w\d+\b ebenfalls. Jedenfalls bei den Beispielen, die ich versucht habe.

        Dann hast du wohl nicht AB1 versucht.

        LLAP 🖖

        --
        „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
  4. @@Pit

    der mit AB beginnt und danach entweder e oder keinen weiteren Buchstaben hat …

    Ich dachte an: /[1]\w\d+\b/

    Also: String soll mit AB beginnen, gefolgt von einem beliebigen Wortzeichen …

    „e oder kein weiterer Buchstabe“ (e?) ist was ziemlich anderes als „ein beliebiges Wortzeichen“.

    LLAP 🖖

    --
    „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann

    1. AB ↩︎