Java matcher 获取比对的值
时间: 2024-09-24 16:13:58 浏览: 30
Java正则表达式Pattern和Matcher原理详解
5星 · 资源好评率100%
在Java中,`Matcher` 是`Pattern` 类的一个实例,它用于从输入字符串中查找匹配正则表达式的模式。当你想要获取匹配的具体值时,你可以使用`Matcher` 的一些方法:
1. `find()`:这个方法会在输入字符串中查找第一个匹配的模式。如果找到,则返回一个`MatchResult` 对象,该对象包含匹配的信息。
2. `group()` 和 `groups()`:
- `group(int index)` 返回第`index`个分组的匹配值。如果没有指定索引,或者索引超出范围,会返回整个匹配的字符串。
- `groups()` 则返回所有非空分组的字符串数组。
3. `groupCount()`:返回可用的捕获组(即方括号[]内的表达式)的数量。
例如,假设你有一个正则表达式 `\\d+(\\.\\d+)?`(匹配整数和小数),你可以这样做:
```java
String regex = "\\d+(\\.\\d+)?";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher("123.45");
if (matcher.find()) {
String match = matcher.group(); // 全部匹配,这里是 "123.45"
int integerPart = Integer.parseInt(match.split("\\.")[0]); // 整数部分
double decimalPart = Double.parseDouble(match.split("\\.")[1].replace(".", "")); // 小数部分
}
```
阅读全文