У меня есть большой текстовый файл, содержащий номера кредитных карт, мне сказали, что мне нужно просмотреть этот файл, а затем найти возможные номера кредитных карт, я использовал Notepad ++ «Поиск в файлах» в режиме поиска регулярных выражений используя это простое выражение: 4 \ d {15} (это ищет 16-разрядную длинную строку, начинающуюся с 4, которая обычно является дебетовой/кредитной VISA), а затем копирую и вставляю ее в скрипт проверки кредитной карты.Как найти 16-значную длинную строку (алгоритм Луна) с помощью notepad ++?
Есть ли способ создать выражение, которое будет искать 16-разрядные длинные строки, начиная с 4, и проверяет, использует ли он алгоритм Луна (удостоверяется, что он действителен).
Это Лун Алгоритм:
1) Начиная со второй по последней цифре и перемещение влево, двойное значение всех переменных цифр.
2) С левой стороны возьмите все незатронутые цифры и добавьте их к результатам всех отдельных цифр с шага 1. Если результаты любого из чисел с шага 1 являются двузначными цифрами, обязательно добавьте два числа сначала (т.е. 18 дают 1 + 8). В принципе, ваше уравнение будет выглядеть как обычная проблема с добавлением, которая добавляет каждую цифру.
3) Общее число с шага 2 должно заканчиваться на ноль, чтобы номер кредитной карты был действительным.
Источник: http://www.webopedia.com/TERM/L/Luhn_formula.html
Вы не можете сделать это с помощью Notepad ++ в одиночку. Вам нужно будет написать код для этого. Могу ли я спросить, почему у вас есть неструктурированный текстовый файл с вещами, которые * выглядят как * номера кредитных карт? Это звучит очень подозрительно. –
Я не совсем уверен, почему меня попросили сделать это, я работаю в компании, которая продает товары в Интернете, я считаю, что это как-то связано с перестройкой нашей базы данных ... »Вам нужно будет написать несколько код для этого ». ... Это не очень полезно, не могли бы вы дать мне лучшее объяснение? – user2786228
Как сказал вам Lasse, вы НЕ МОЖЕТЕ проверять контрольную сумму Luhn просто с регулярными выражениями. Вам нужно будет написать что-то более сложное с использованием языка программирования. При поиске в Интернете вы найдете некоторые варианты алгоритма Луна на разных языках. Единственный способ сделать это в Notepad ++ - это использовать плагин PythonScript (поэтому ваша реализация должна быть в Python). – psxls