Ich habe eine Methode in C #, die FormatSSN sagt, die eine SSN in einem String-Format akzeptiert und die Bindestriche ersetzt. Ich meine, ich erwarte, dass die SSN im XXX-XX-XXXX Format sein wird. Ich möchte einen regulären Ausdruck schreiben, der sicherstellt, dass das SSN in dem Format ist, das ich erwähnt habe.
Kann mir jemand helfen, einen regulären Ausdruck zu konstruieren?
\d
ist eine Ziffer, {X}
wiederholt das vorherige Element X
mal.
Wie Dmitry in den Kommentaren darauf hingewiesen hat, fügt das Hinzufügen von ^
am Anfang und $
am Ende dazu, dass die Regex nur dann übereinstimmt, wenn die gesamte Zeichenfolge ein SSN ist. Ohne diese Anker würden auch Strings wie abc123-45-6789xyz
zusammenpassen.
Ich habe den einfachen Ausdruck in der Vergangenheit benutzt, aber da es einige Regeln bei der Bildung von SSN gibt, habe ich etwas etwas ausgefeilteres entwickelt:
%Vor%Diese Regex schließt SSNs, die mit 666, 000 und 900-999 beginnen, gemäß der Sozialversicherungsnummer-Randomisierung .
Sie können es unter Rubular ausprobieren.