正则匹配正整数 java
时间: 2023-08-10 10:33:15 浏览: 42
可以使用正则表达式 `[1-9]\d*` 来匹配正整数。其中,`[1-9]` 表示匹配 1-9 中的任意一个数字,`\d*` 表示匹配 0 个或多个数字。这个正则表达式可以匹配任何正整数,但不包括 0。例如,在 Java 中可以这样使用正则表达式:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String text = "123 0 456 -789";
Pattern pattern = Pattern.compile("[1-9]\\d*");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
```
这里使用 `java.util.regex.Pattern` 类和 `java.util.regex.Matcher` 类来进行正则表达式的匹配。`Matcher.find()` 方法可以查找所有匹配的字符串,`Matcher.group()` 方法可以返回匹配的字符串。运行上述代码,可以输出:
```
123
456
```
相关问题
java正则表达式正整数
以下是Java中判断正整数的正则表达式:
```java
^[1-9]\\d*$
```
其中,^表示匹配字符串的开始位置,$表示匹配字符串的结束位置,[1-9]表示匹配1到9中的任意一个数字,\\d*表示匹配0个或多个数字,因此\\d*可以匹配任意非负整数,但是这里需要排除0,所以需要在[1-9]后面加上\\d*,表示匹配1到9之后可以跟0个或多个数字。
演示代码如下:
```java
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Main {
public static void main(String[] args) {
String regex = "^[1-9]\\d*$";
String str1 = "123456";
String str2 = "0";
String str3 = "-123";
Pattern pattern = Pattern.compile(regex);
Matcher matcher1 = pattern.matcher(str1);
Matcher matcher2 = pattern.matcher(str2);
Matcher matcher3 = pattern.matcher(str3);
System.out.println(str1 + " is a positive integer: " + matcher1.matches()); // 输出:true
System.out.println(str2 + " is a positive integer: " + matcher2.matches()); // 输出:false
System.out.println(str3 + " is a positive integer: " + matcher3.matches()); // 输出:false
}
}
```
java正整数正则表达式
Java中的正则表达式可以用来匹配正整数,示例如下:
```java
String regex = "^\\d+$";
String input = "12345";
boolean isMatch = Pattern.matches(regex, input);
System.out.println(isMatch); // true
```
解释一下这个正则表达式:
- `^` 表示匹配输入字符串的开始位置
- `\\d` 表示匹配任意数字,相当于 `[0-9]`
- `+` 表示匹配前面的元素一次或多次
- `$` 表示匹配输入字符串的结束位置
因此,`^\\d+$` 表示匹配一个或多个数字组成的字符串,即正整数。