Wie erstellt man einen regulären Ausdruck (C #), um eine Folge von acht Einsen und Nullen zu identifizieren

8

Ich versuche, eine Regex zu erstellen, um festzustellen, ob eine Zeichenfolge ein Byte aus Binärziffern enthält, z. 10010011.

Ich glaube, dass [0-1] [0-1] [0-1] [0-1] [0-1] [0-1] [0-1] [0-1] funktionieren würde, aber Ich bin mir sicher, Theres ist eine effizientere Art, es zu tun, und neu in regulären Ausdrücken, ich bin mir nicht sicher, was das ist.

    
Doug S. 18.02.2011, 20:06
quelle

4 Antworten

12

Wenn es genau 8 (nicht mehr / weniger) sein muss, verwenden Sie dies:

%Vor%

Wenn Sie etwas wie "abc01010101xyz" nicht zuordnen möchten, verwenden Sie Folgendes:

%Vor%

Wenn Sie alle 8-Bit-Strings irgendwo in der Eingabe abgleichen möchten, verwenden Sie Folgendes:

%Vor%

Beachten Sie, dass Sie, wenn Sie dem letzten Muster eine Eingabe wie 1111111100000000 geben, eine Ergebnismenge wie folgt erhalten:

%Vor%     
Justin Morgan 18.02.2011, 20:10
quelle
17

Das wäre dieser

%Vor%

Dieser [0-1] ist technisch nicht falsch, aber "0-1" ist kaum ein Bereich, so dass Sie den Bindestrich fallen lassen können.

    
Tomalak 18.02.2011 20:08
quelle
5

Ich glaube, [01]{8} sollte es tun.

    
Mark Avenius 18.02.2011 20:08
quelle
5
%Vor%

Wenn Sie genau 8 Nullen oder Einsen (d. h. 101010101 wird nicht übereinstimmen) wollen, dann:

%Vor%     
CanSpice 18.02.2011 20:09
quelle

Tags und Links