如何使用Java正则表达式group()提取文本中’24/11/18 06:06:35 3 109’中的第三个和第四个空格之间的数字?
时间: 2024-12-16 11:24:50 浏览: 6
在Java中,你可以使用正则表达式的`substring()`和`indexOf()`方法配合`group()`函数来提取特定模式的字符串。对于这个例子,假设你想从给定的字符串'24/11/18 06:06:35 3 109'中提取第三个和第四个空格之间的数字(即数字`109`),可以这样做:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String text = "24/11/18 06:06:35 3 109";
Pattern pattern = Pattern.compile("\\s+"); // 匹配一个或多个空格
Matcher matcher = pattern.matcher(text);
// 找到第一个非空格的位置
int start = matcher.find(0); // 从开始位置查找
if (start != -1) {
// 然后找到第二个空格后的结束位置,减去1得到第三个空格的下一个字符位置
int end = matcher.end() - 1;
// 使用substring()提取目标数字
String number = text.substring(start + 1, end);
System.out.println("提取的数字: " + number);
} else {
System.out.println("未找到匹配的第三个空格");
}
}
}
```
运行这段代码,它将输出`109`。
阅读全文