Мод 11 контрольная цифра с регулярным выражением
Можно ли создать процедуру проверки контрольных цифр в моде 11 с помощью выражения regex?
Нубмер представляет собой 10-значный номер,
Шаг 1: A = (2-й номер * 2) + (3-й номер * 4) + (4-й номер * 8) + (5-й номер * 5) + (6-й номер * 10) + (7-й номер * 9) + (8-й номер * 7) + (9 число * 3))
Шаг 2: B = A / 11 (игнорировать остаток)
Шаг 3: C = B * 11
Шаг 4: D = A - C
Шаг 5: 11 - D должен = 10-ая цифра
3 ответа
Нет. По сути, вы хотите здесь выполнять математику, и это не совсем подходит для регулярных выражений, которые просто относятся к шаблонам.
Я имею в виду, теоретически это, безусловно, возможно - вы могли бы перечислить все действительные числа и объединить их в одно огромное регулярное выражение. Однако это практически неосуществимо.
Используйте регулярные выражения в качестве конечного автомата. http://quaxio.com/triple/
Regex выполняет сопоставление с образцом, а не анализирует. Вам нужно разобрать номер, чтобы получить цифры. Я бы предложил использовать регулярное выражение, чтобы убедиться, что это 10-значное число, а затем ToString() и разделить его.