正規表現を使用して文字列からユーロ単位の金額を抽出します。ユーロ金額を抽出するJava正規表現
現在、私は5
しか得ておらず、私のエラーを理解することはできません。文字列に17,05 Euro
や85 EUR
などの亜種も検出するのに適したソリューションはどのようにありますか?
String regExp = ".*([0-9]+([\\,\\.]*[0-9]{1,})?) *[Eu][Uu][Rr][Oo]? .*";
Pattern pattern = Pattern.compile(regExp);
String input1 = "aerae aerjakaes jrj kajre kj 112123 aseraer 1.05 Eur aaa";
Matcher matcher = pattern.matcher(input1);
matcher.matches();
System.out.println(matcher.group(1));
結果:最初の.*
は貪欲で、最初に全体のラインをつかむため
5
[こちら](https://stackoverflow.com/a/37571199/2064981)をご確認ください。あなたに役立つかもしれません;)[regex101](https://regex101.com/r/kL8pD9/7)が変更されました。 – ClasG
'。*?' '貪欲ではなく、' [] 'の '、.'をエスケープする必要はありません –