java正则表达式匹配小数
时间: 2023-11-09 18:01:53 浏览: 196
可以使用以下正则表达式匹配小数:
```java
String regex = "^-?\\d+(\\.\\d+)?$";
```
其中,^ 表示匹配字符串的开头,$ 表示匹配字符串的结尾,-? 表示可选的负号,\\d+ 表示匹配一个或多个数字,\\. 表示匹配小数点,\\d+ 表示匹配一个或多个数字。
示例代码:
```java
String regex = "^-?\\d+(\\.\\d+)?$";
String str1 = "123.45";
String str2 = "-0.5";
String str3 = "12";
System.out.println(str1.matches(regex)); // true
System.out.println(str2.matches(regex)); // true
System.out.println(str3.matches(regex)); // false
```
相关问题
java 数字匹配_java正则表达式匹配数字怎么实现?
可以使用Java中的正则表达式来匹配数字。以下是一个示例代码,可以匹配包括整数、小数、正数和负数在内的所有数字:
```
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class NumberMatcher {
public static void main(String[] args) {
String input = "This is a string with 123 and 4.56 and -78.90 numbers";
String regex = "-?\\d+(\\.\\d+)?"; // 匹配数字的正则表达式
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
```
输出结果为:
```
123
4.56
-78.90
```
在上述代码中,首先定义了一个包含数字的字符串 `input`,然后定义了一个匹配数字的正则表达式 `regex`,该正则表达式包括以下几个部分:
- `-?`:表示可选的负号。
- `\d+`:表示至少一个数字。
- `(\.\d+)?`:表示可选的小数部分,其中 `\.` 表示匹配小数点,`\d+` 表示至少一个数字。
然后使用 `Pattern` 类将正则表达式编译成模式,再使用 `Matcher` 类对输入字符串进行匹配,通过 `find()` 方法查找所有匹配的数字,并使用 `group()` 方法获取匹配的数字。
java正则表达式小数
Java正则表达式可以用来匹配各种字符串格式,包括小数。下面是一个匹配小数的正则表达式:
```java
^-?\\d+(\\.\\d+)?$
```
这个正则表达式可以匹配包括负数在内的所有小数,其中:
- ^ 表示字符串的开头
- -? 表示一个可选的负号
- \\d+ 表示一个或多个数字
- (\\.\\d+)? 表示一个可选的小数部分,其中 \\. 表示匹配实际的点(.)字符,\\d+ 表示一个或多个数字
- $ 表示字符串的结尾
使用这个正则表达式可以检查一个字符串是否为小数。例如,以下代码可以检查一个字符串是否为小数:
```java
String str = "3.14";
if (str.matches("^-?\\d+(\\.\\d+)?$")) {
System.out.println("是小数");
} else {
System.out.println("不是小数");
}
```
如果 str 是一个小数,输出结果将是“是小数”;否则输出“不是小数”。
阅读全文