У меня нет для вас готового решения, но если вы хотите выбрать маршрут регулярных выражений, вы можете идентифицировать номера кредитных карт с помощью регулярного выражения, включенного в Свойства проверки OWASP ESAPI :
^(\\d{4}[- ]?){3}\\d{4}$
Вам нужно присмотреться, если это работает для всех случаев, с которыми вы столкнетесь.Если число каким-то образом искажено, регулярное выражение, конечно, не будет выполнено.
Число CVV2 - это всего лишь 3 или 4 цифры.Вы также можете заменить их на x, но у вас будет высокий уровень ложных срабатываний.Если текст, который вы хотите обработать как некоторую структуру, которая поможет вам найти номера кредитных карт и CVV2, вы можете создать что-то более элегантное.