Reg. ausdrücke

hi ihr profis,

wow - ich hab grad angefangen, mir die kapitel über reg. ausdrücke anzuschauen. ich bin echt überfordert - schon bei den anfängen…

ich suche einen ausdruck, der folgendes beschreibt:

eine beliebig lange zeichenkette

die mit einem buchstaben oder einer zahl anfängt

nur buchstaben, zahlen und unterstriche enthalten darf

und nicht mit einem unterstrich enden darf.

ich hab mir folgendes gebaut:

^([0-9,a-z,A-Z]+)(([0-9,_,a-z,A-Z]+))*([0-9,a-z,A-Z]+)

hab ich das richtig gemacht?

danke

kalli
(dem der kopf raucht)

hi ihr profis,

wow - ich hab grad angefangen, mir die kapitel über reg.
ausdrücke anzuschauen. ich bin echt überfordert - schon bei
den anfängen…

ich suche einen ausdruck, der folgendes beschreibt:

eine beliebig lange zeichenkette

die mit einem buchstaben oder einer zahl anfängt

nur buchstaben, zahlen und unterstriche enthalten darf

und nicht mit einem unterstrich enden darf.

ich hab mir folgendes gebaut:

^([0-9,a-z,A-Z]+)(([0-9,_,a-z,A-Z]+))*([0-9,a-z,A-Z]+)

hab ich das richtig gemacht?

:wink:
a) funktioniert es denn in deinen tests, oder uebst du auf papier?
b) zeichenauflistungen werden nciht kommasepariert.
c) der stern ist mit sicherheit falsch
d) wenn du wissen willst, ob dein string komplett dem muster entspricht muss dein muster mit $ enden, sonst wird es mit dem darf ncith enden unter umstaenden knapp…
e) wenn du nur wissen willst, ob er matched brauchst du keine runde klammer. warum du die mittlere zeichenmenge 2x geklammert hasst, weiss ich nciht.
f) das erste und das letzte + sind nicht falsch, aber uebrig, da es ja nach der anforderung nur auf ein zeichen matchen soll.
aus der kalten, ohne zu testen wuerde ich mal probieren:

^[0-9a-zA-Z][_0-9a-zA-Z]+[0-9a-zA-Z]$

hi ihr profis,

wow - ich hab grad angefangen, mir die kapitel über reg.
ausdrücke anzuschauen. ich bin echt überfordert - schon bei
den anfängen…

ich suche einen ausdruck, der folgendes beschreibt:

eine beliebig lange zeichenkette

die mit einem buchstaben oder einer zahl anfängt

nur buchstaben, zahlen und unterstriche enthalten darf

und nicht mit einem unterstrich enden darf.

ich hab mir folgendes gebaut:

^([0-9,a-z,A-Z]+)(([0-9,_,a-z,A-Z]+))*([0-9,a-z,A-Z]+)

hab ich das richtig gemacht?

nö.
a) funktioniert es denn in deinen tests, oder uebst du auf
papier?
a1) solltest du die umgebung, in der deine ausdruecke
funktionieren sollten mit angeben, da gibt es z.t.
unterschiede.
b) zeichenauflistungen werden nciht kommasepariert.
c) der stern ist mit sicherheit falsch
d) wenn du wissen willst, ob dein string komplett dem muster
entspricht muss dein muster mit $ enden, sonst wird es mit dem
darf ncith enden unter umstaenden knapp…
e) wenn du nur wissen willst, ob er matched brauchst du keine
runde klammer. warum du die mittlere zeichenmenge 2x
geklammert hasst, weiss ich nciht.
f) das erste und das letzte + sind nicht falsch, aber uebrig,
da es ja nach der anforderung nur auf ein zeichen matchen
soll.
aus der kalten, ohne zu testen wuerde ich mal probieren:

^[0-9a-zA-Z][_0-9a-zA-Z]+[0-9a-zA-Z]$

jetzt hab ich eben einen längeren antwort-artikel geschrieben, und das speichern hat nicht geklappt. also nochmal in kurzform -

ich hab grad erst angefangen (vor 3 stunden) mich mit ra auseinanderzusetzen. wenn ich solche lösungen wie deine sehe, kommen sie mir logisch vor - wenn ich selber was bauen soll (oder zum üben: will) dann steh ich wien ochs vorm berg.

danke für die schnelle antwort!!

kalli