Dies ist eine Frage zu der Antwort in der Frage Check a string to see if all characters are hexadecimal values.Anker in regulären .NET-Ausdrücken
Die vorgeschlagene reguläre Ausdruck ist die folgende:
\A\b[0-9a-fA-F]+\b\Z
Nun \A
und \Z
scheinen jeweils das Äquivalent zu ^
und $
zu sein. \Z
verhält sich anders, indem es einen Zeilenumbruch nach dem Abgleich zulässt (dies kann sein oder auch nicht beabsichtigt sein).
Was ich nicht verstehe ist, warum der \b
"an Wortgrenze" -Anker verwendet wird. Ist der Anfang/das Ende eines Strings nicht immer eine Wortgrenze?
Schließlich könnte die Regex als ^[0-9a-fA-F]$
mit dem gleichen Verhalten umgeschrieben werden (Ignorieren der nachlaufenden \n
Problem). Fehle ich etwas? Wird \b
für einen seltsamen Randfall benötigt?
Testfälle:
123ABC -> true
123def -> Returns true
123g -> Returns false
Ja, ich kann mir nichts vorstellen, was das '\ b' erreicht. – smead