Andreas Korthaus: regExp Problem

Hallo!

Also ich finde einfach keinen geeigneten regulären Ausdruck. Und zwar möchte ich gerne erkennen, ob ein String mit 3 Zeichen wenigstens einen Buchstaben enthält und _nicht_ mit "-" startet oder endet. Wie kann man das machen?

Ich hatte es so versucht:

/^([^-])([A-Z]+)([^-])$/

Aber das geht nicht. Mit 2 regExp ist das ganze sehr einfach, aber mit einer? Und ich brauche unbedingt eine, oder geht das gar nicht?

So wie ich das sehe liegt das Problem darin, dass sich ([A-Z]+) nur auf das mittlere der 3 Zeichen bzieht, es sol sich auber auf alle 3 beziehen. Wie mache ich das?

Viele Grüße
Andreas

  1. Hoi,

    /^([^-])([A-Z]+)([^-])$/

    Ich denke, das sollte gehen:

    /^(?:[a-zA-Z].[^-])|(?:^-$/o;

    Wenn der Anfang ein Buchstabe steht, kann folgen, was will (beliebig, kein
    Bindestrich). Wenn am Anfang kein Buchstabe und kein Bindestrich steht, darf
    entweder ein Buchstabe und kein Bindestrich oder ein beliebiges Zeichen und ein
    Buchstabe folgen.

    Gruesse,
     CK