import java.util.regex.Matcher;
import java.util.regex.Pattern;
class Test{
public static void main
(String[] args
){ String s
="randomtext 1150,25 USD randomtext\n" + "randomtext USD 1150,25 randomtext\n" +
"randomtext USD1150,25 randomtext";
Matcher matcher = Pattern.compile("(?<!\\d|\\d,)(?=(?:[\\d,]+\\s)*(PLN|EUR|USD|CHF|GBP)(?:\\s*[\\d,]+\\s)*)(?=((?:PLN|EUR|USD|CHF|GBP)*\\s*(\\d+)(,?\\s?|.)(\\d{1,2})\\s?(?:PLN|EUR|USD|CHF|GBP)*))[\\d\\s,PLNEURUSDCHFGB]+(?=\\b\\s)").matcher(s);
while(matcher.find()) {
for(int i = 0; i < matcher.groupCount(); i++){
System.
out.
println(matcher.
group(i
)); }
}
}
}
aW1wb3J0IGphdmEudXRpbC5yZWdleC5NYXRjaGVyOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4LlBhdHRlcm47CgpjbGFzcyBUZXN0ewoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpewogICAgICAgIFN0cmluZyBzID0icmFuZG9tdGV4dCAxMTUwLDI1IFVTRCByYW5kb210ZXh0XG4iICsKICAgICAgICAgICAgICAgICJyYW5kb210ZXh0IFVTRCAxMTUwLDI1IHJhbmRvbXRleHRcbiIgKwogICAgICAgICAgICAgICAgInJhbmRvbXRleHQgVVNEMTE1MCwyNSByYW5kb210ZXh0IjsKICAgICAgICBNYXRjaGVyIG1hdGNoZXIgPSBQYXR0ZXJuLmNvbXBpbGUoIig/PCFcXGR8XFxkLCkoPz0oPzpbXFxkLF0rXFxzKSooUExOfEVVUnxVU0R8Q0hGfEdCUCkoPzpcXHMqW1xcZCxdK1xccykqKSg/PSgoPzpQTE58RVVSfFVTRHxDSEZ8R0JQKSpcXHMqKFxcZCspKCw/XFxzP3wuKShcXGR7MSwyfSlcXHM/KD86UExOfEVVUnxVU0R8Q0hGfEdCUCkqKSlbXFxkXFxzLFBMTkVVUlVTRENIRkdCXSsoPz1cXGJcXHMpIikubWF0Y2hlcihzKTsKICAgICAgICB3aGlsZShtYXRjaGVyLmZpbmQoKSkgewogICAgICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgbWF0Y2hlci5ncm91cENvdW50KCk7IGkrKyl7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4obWF0Y2hlci5ncm91cChpKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7CiAgICAgICAgfQogICAgfQp9
1150,25 USD
USD
1150,25 USD
1150
,
USD 1150,25
USD
USD 1150,25
1150
,
USD1150,25
USD
USD1150,25
1150
,