So erkennen Sie die exakte Länge in Regex

8

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.

    
CheGueVerra 24.04.2009, 20:02
quelle

8 Antworten

12

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"

    
Timothy Khouri 24.04.2009, 20:08
quelle
4

Wenn es sich um eine einzelne Zeile handelt, können Sie angeben, dass Ihre Übereinstimmung am Ende der Zeile auftreten muss, z. B. in .net ...

%Vor%

Das wird 1234567890 akzeptieren, aber 12345678901 ablehnen.

    
JP Alioto 24.04.2009 20:10
quelle
2

Meinst du, dass du bis zu 10 Ziffern anpassen willst? Versuchen Sie Folgendes:

%Vor%     
Alan Moore 25.04.2009 03:17
quelle
0

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.

    
Michael Kohne 24.04.2009 20:07
quelle
0

Wenn Sie versuchen, nur Zahlen mit einer Länge von 10 Ziffern zu finden, fügen Sie einfach einen nachlaufenden Anker mit $ wie folgt hinzu:

%Vor%

Dies entspricht einer Zahl, die genau 10 Ziffern lang ist (mit optionalem Leerzeichen auf jeder Seite).

    
Bryan 24.04.2009 20:15
quelle
0

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%     
Imran 24.04.2009 20:15
quelle
0

Sie könnten Wechsel versuchen?

%Vor%     
Arnshea C 24.04.2009 20:07
quelle
0

%Vor%
    
DAVIS BENNY 15MIS0426 28.09.2017 04:22
quelle

Tags und Links