mod 11 Prüfziffer mit regex
-
09-09-2019 - |
Frage
Ist es möglich, eine Mod 11 Prüfziffer Routine mit einer Regex-Anweisung zu erstellen?
nubmer ist eine 10-stellige Nummer,
Schritt 1: A = (2-Nummer * 2) + (3 Nummer * 4) + (4 Nummer * 8) + (5.-Nummer * 5) + (6 Nummer * 10) + (7-Nummer * 9) + (8 Nummer * 7) + (9.-Nummer * 3))
Schritt 2: B = A / 11 (Ignor Rest)
Schritt 3: C = B * 11
Schritt 4: D = A - C
Schritt 5: 11 - D muss = die 10. Stelle
Lösung
Nein -. Grundsätzlich Sie wollen hier Mathematik zu tun, und das ist wirklich nicht mit regulären Ausdrücken passen, die nur über Muster
Ich meine, theoretisch es ist sicherlich möglich - man könnte alle gültigen Zahlen auflisten und sie zu einem enormen regex kombinieren. Allerdings ist es nicht praktisch möglich.
Andere Tipps
Verwenden Sie regex als Finite State Machine. http://quaxio.com/triple/
Regex tut Pattern-Matching, nicht wirklich Parsen. Sie müssen die Nummer analysieren, um die Ziffern zu erhalten. Ich würde die regex vorschlägt, mit ihm, um sicherzustellen, ist eine 10-stellige Nummer und dann ToString () es und hacken sie auf.