fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. import java.util.regex.Matcher;
  5. import java.util.regex.Pattern;
  6.  
  7. class Ideone
  8. {
  9. public static void main (String[] args) throws java.lang.Exception
  10. {
  11. final String regex = "(?<=cardNo\\\"?\\s?:\\s?\\\"\\d{0,100})\\d(?!\\d{0,3}\\\")";
  12. final String string = "cardNo\":\"10929291929312911131\"\n"
  13. + "(cardNo:\"10929291929312911131\",cardType:\"CREDIT\")\n"
  14. + "\"cardNo\" : \"10929291929312911131\" \n"
  15. + "creditCardData(cardNo: \"10929291929312911131\",cardType:\"CREDIT\") –";
  16. final String subst = "X";
  17.  
  18. Pattern pattern = Pattern.compile(regex);
  19. Matcher matcher = pattern.matcher(string);
  20.  
  21. String result = matcher.replaceAll(subst);
  22.  
  23. System.out.println(result);
  24. }
  25. }
Success #stdin #stdout 0.11s 51620KB
stdin
Standard input is empty
stdout
cardNo":"XXXXXXXXXXXXXXXX1131"
(cardNo:"XXXXXXXXXXXXXXXX1131",cardType:"CREDIT")
"cardNo" : "XXXXXXXXXXXXXXXX1131" 
creditCardData(cardNo: "XXXXXXXXXXXXXXXX1131",cardType:"CREDIT") –