Java 正则表达式匹配正浮点数
时间: 2024-02-23 21:54:16 浏览: 106
以下是一个Java正则表达式匹配正浮点数的例子:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String regex = "^\\d+(\\.\\d+)?$";
String input = "3.14";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
System.out.println("匹配成功");
} else {
System.out.println("匹配失败");
}
}
}
```
这个例子中,我们使用了正则表达式`^\d+(\.\d+)?$`来匹配正浮点数。这个正则表达式的含义是:以一个或多个数字开头,后面可以跟一个小数点和一个或多个数字,整个部分是可选的。如果输入字符串与正则表达式匹配,则输出"匹配成功",否则输出"匹配失败"。
相关问题
java浮点数正则表达式_浮点数的正则表达式
浮点数的正则表达式可以表示为:
`^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$`
其中:
- `^`: 匹配字符串的开始位置。
- `[-+]?`: 可选的正负号。
- `[0-9]*`: 0个或多个数字。
- `\.`: 匹配小数点。
- `?[0-9]+`: 可选的小数部分,必须至少有一位数字。
- `([eE][-+]?[0-9]+)?`: 可选的指数部分,以及正负号。
示例代码:
```java
String regex = "^[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?$";
String num1 = "3.14";
String num2 = "-0.123";
String num3 = "1.23e-4";
System.out.println(num1.matches(regex)); // true
System.out.println(num2.matches(regex)); // true
System.out.println(num3.matches(regex)); // true
```
注意,Java 中的浮点数类型不是精确的,因此在进行浮点数比较时需要使用一些技巧,比如比较它们的差值是否小于一个很小的数值。
阅读全文