мод 11 контрольной цифры с регулярным выражением

StackOverflow https://stackoverflow.com/questions/945763

  •  09-09-2019
  •  | 
  •  

Вопрос

Можно ли создать процедуру проверки контрольных цифр mod 11 с помощью оператора регулярного выражения?

Номер представляет собой 10-значное число,

Шаг 1:A = (2-й номер * 2) + (3-й номер * 4) + (4-й номер * 8) + (5-й номер * 5) + (6-й номер * 10) + (7-й номер * 9) + (8-й номер * 7) + (9-е число * 3))

Шаг 2:B = A/11 (игнорировать остаток)

Шаг 3:С = В * 11

Шаг 4:Д = А - С

Шаг 5:11 - Д должен = 10-я цифра

Это было полезно?

Решение

Нет, по сути, вы хотите заниматься здесь математическими вычислениями, а это не совсем подходит для регулярных выражений, которые касаются только шаблонов.

Я имею в виду, теоретически это, конечно, возможно - вы можете перечислить все допустимые числа и объединить их в одно огромное регулярное выражение.Однако это не практически достижимый.

Другие советы

Используйте регулярное выражение как конечный автомат. http://quaxio.com/triple/

Regex выполняет сопоставление с образцом, а не синтаксический анализ.Вам нужно разобрать число, чтобы получить цифры.Я бы предложил использовать регулярное выражение, чтобы убедиться, что это 10-значное число, а затем ToString() и разрезать его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top