Ich habe zwei reguläre Ausdrücke, die die eingegebenen Werte validieren.
Eine, die eine beliebige Länge des alphanumerischen Wertes erlaubt:
%Vor%Und der andere erlaubt nur numerische Werte:
%Vor% Wie bekomme ich eine numerische Zeichenfolge der Länge 11, die nicht von NUM
regex abgefangen werden soll.
Ich denke, was Sie sagen wollen, ist, dass Sie nicht mehr als 10 Ziffern zulassen wollen. Fügen Sie also am Ende ein $
hinzu, um das Ende der Regex anzugeben.
Beispiel: @"^\s*(?[0-9]{10})$"
Hier ist meine ursprüngliche Antwort, aber ich denke, ich lese dich zu genau.
%Vor%Das heißt "solange es noch nicht geht, start, 11 Ziffern, Ende"
Meinst du, dass du bis zu 10 Ziffern anpassen willst? Versuchen Sie Folgendes:
%Vor%Ordne nach der Zeichenfolge mit der Länge 10 etwas Nicht-Numerisches zu. Mein Regex-Foo ist nicht so gut, aber ich denke, Sie haben es dort eingerichtet, um eine numerische Zeichenfolge mit genau der Länge 10 abzufangen, aber da Sie danach nichts mehr finden, würde auch eine Länge von 11 Zeichen übereinstimmen. Versuchen Sie, über das Ende der Zahl hinaus zu finden, und Sie werden gut sein.
Dies sollte nur 10 Ziffern entsprechen und beliebig viele Whitespaces vor und hinter den Ziffern zulassen.
Nicht erfassende Version: (nur Übereinstimmungen, die übereinstimmenden Ziffern werden nicht gespeichert)
%Vor%Erfassungsversion: (die übereinstimmenden Ziffern sind in der Untergruppe 1 verfügbar, zB $ 1 oder \ 1)
%Vor%Tags und Links regex