java使用正则表达式获取字符串"APU32_SH_56_78"中的倒数第二个数字”56“
时间: 2024-12-22 22:24:24 浏览: 4
在Java中,你可以使用正则表达式配合`Pattern`和`Matcher`类来获取特定位置的字符。对于字符串"APU32_SH_56_78",如果你想获取倒数第二个数字"56",可以这样做:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "APU32_SH_56_78";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(input);
// 查找倒数第二个匹配项(从后往前查找)
if (matcher.find()) {
int index = matcher.end() - 1; // 计算最后一个匹配项的位置减一,得到倒数第二个位置
System.out.println("倒数第二个数字:" + input.charAt(index));
} else {
System.out.println("未找到倒数第二个数字");
}
}
}
```
在这个例子中,`\d+` 是一个正则表达式模式,表示匹配一个或多个数字。我们使用`matcher()`创建一个`Matcher`对象,并使用`find()`方法寻找所有匹配的数字。由于`end()`返回的是当前匹配区间的结束索引,所以我们从这个值减一得到倒数第二个数字的索引。
阅读全文