I have 4 different regex pattern matchers and corresponding replace strings. Inside my java code, I check for each regex and replace with the value. Is there anyway I can consolidate in single regex and single replace string?
DISC_CARD=(\\W|000)(6(?:011|5[0-9]{2})[0-9]{8})([0-9]{4}\\D)
MAST_CARD=(\\W|000)((?:5[0-9]{3}|2[2-7][0-9]{2})[0-9]{8})([0-9]{4}\\D)
VISA_CARD=(\\W|000)(4[0-9]{11})([0-9]{4}\\D)
AMEX_CARD=(\\W|000)(3[47][0-9]{9})([0-9]{4}\\D)
DISC_MASK=$1XXXXXXXXXXXX$3
MAST_MASK=$1XXXXXXXXXXXX$3
VISA_MASK=$1XXXXXXXXXXXX$3
AMEX_MASK=$1XXXXXXXXXXX$3
Java code:
for (int i = 0; i < regPatterns.size(); i++) {
message = regPatterns.get(i).matcher(message).replaceAll(maskPatterns[i]);
}