java 货币正则表达式
时间: 2024-10-17 10:02:19 浏览: 24
匹配价格的正则表达式
在Java中处理货币金额通常涉及到验证输入的格式是否符合预期,比如美元、欧元或其他国家的货币。货币正则表达式可以帮助我们实现这个功能,它会匹配常见的货币格式,如金额加上货币符号。以下是一个简单的例子,用于匹配美元和欧元格式:
```java
import java.util.regex.Pattern;
public class CurrencyRegexExample {
private static final String US_DOLLAR_PATTERN = "^\\$[0-9]+(\\.?[0-9]{1,2})?";
private static final String EURO_PATTERN = "^(€|EUR)[0-9]+(\\.?[0-9]{1,2})?";
public static boolean isValid(String input, String currency) {
Pattern pattern;
switch (currency.toLowerCase()) {
case "us":
pattern = Pattern.compile(US_DOLLAR_PATTERN);
break;
case "eur":
pattern = Pattern.compile(EURO_PATTERN);
break;
default:
throw new IllegalArgumentException("Unsupported currency: " + currency);
}
return pattern.matcher(input).matches();
}
// 使用示例
public static void main(String[] args) {
System.out.println(isValid("$123.45", "us")); // 输出 true
System.out.println(isValid("€56.78", "eur")); // 输出 true
}
}
```
在这个例子中,`isValid`方法接受一个字符串和一种货币类型,根据货币类型创建相应的正则表达式模式并检查输入是否匹配。
阅读全文