Напишите регулярное выражение, которое идентифицирует числа, кратные 11
Для исследования, которое я делаю, каждому присваивается уникальный номер. Все уникальные числа делятся на 11 (это делается потому, что последовательные числа сильно отличаются друг от друга).
В идеале я хотел бы использовать регулярное выражение, которое можно использовать для проверки того, что число, введенное в поле study_id, является приемлемым значением, например, делится на 11. Я буду иметь ведущие нули максимум до 5 цифр. Итак:
- 00011 - Приемлемо
- 00012 - неприемлемо
- 13211 - Приемлемо
- 13221 - неприемлемо
Любые предложения с благодарностью получены
1 ответ
Это невозможно, потому что нет текстовых сходств между числами, которые делятся на 11
, Regex используется для сопоставления текста.
Например 000165
делится на 11
как есть 00011
,
Лучший способ проверить число - разделить его на 11 и посмотреть, есть ли остаток. Так что в Excel вы бы сделали это:
=IF(MOD(165, 11) = 0, "VALID", "INVALID")
Или C# вы бы сделали что-то вроде этого
bool isValid = 165 % 11 == 0;
(Отказ от ответственности Я не знаком с ODK, поэтому не могу предоставить подходящий образец; я только что угадал, на каком языке лучше писать)