fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. import java.util.regex.*;
  5.  
  6. /* Name of the class has to be "Main" only if the class is public. */
  7. class Ideone
  8. {
  9. public static void main (String[] args) throws java.lang.Exception
  10. {
  11. Pattern pc = Pattern.compile("importo=(?:\\d+(?:[.,]\\d+)?)?\\s*([^&\\d]*)\\s*(?:\\d+(?:[.,]\\d+)?)?\\s*&?"); // currency
  12. Pattern pa = Pattern.compile("importo=(?:[^&\\d]*)\\s*(\\d+(?:[.,]\\d+)?)\\s*(?:[^&\\d]*)&?"); // amount
  13. String[] ss = {
  14. "importo=42",
  15. "importo=$42",
  16. "importo=42$",
  17. "importo=42.666",
  18. "importo=$42.666",
  19. "importo=42.666$",
  20. };
  21. for (String s : ss) {
  22. Matcher mc = pc.matcher(s);
  23. Matcher ma = pa.matcher(s);
  24. mc.find();
  25. ma.find();
  26.  
  27. System.out.println(s + ": " + ma.group(1) + " " + mc.group(1));
  28. }
  29. }
  30. }
  31.  
  32.  
Success #stdin #stdout 0.05s 2184192KB
stdin
Standard input is empty
stdout
importo=42: 42 
importo=$42: 42 $
importo=42$: 42 $
importo=42.666: 42.666 
importo=$42.666: 42.666 $
importo=42.666$: 42.666 $