java正则"111111111111111133【震荡苦 左 夺工夺 苦基地震荡村枯甘载工地革甘甘基载夺夺甘左工夺左震荡苦左 震荡奔】111111111】1133】3"取最后一个】前10字符
时间: 2024-12-25 10:30:12 浏览: 1
对于给定的字符串,如果你想要获取最后一个连续数字序列的前10个字符,你可以稍微调整正则表达式以只匹配前10个数字。由于该字符串已经明确表示最后一个数字序列是连续的,我们只需截取这部分。不过,如果不确定数字序列长度,需要先找到它。以下是代码示例:
```java
String input = "111111111111111133【震荡苦 左 夺工夺 苦基地震荡村枯甘载工地革甘甘基载夺夺甘左工夺左震荡苦左 震荡奔】111111111】1133】3";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
String lastSequence = matcher.group();
if (lastSequence.length() > 10) {
lastSequence = lastSequence.substring(0, 10);
}
System.out.println("最后10个字符的数字序列是: " + lastSequence);
} else {
System.out.println("未找到数字序列");
}
```
这段代码首先查找是否存在数字,然后提取出来并检查长度,如果超过10个字符,则只保留前10个。
相关问题
java正则取最后一个】前10字符 "111111111111111133【震荡苦 左 夺工夺 苦基地震荡村枯甘载工地革甘甘基载夺夺甘左工夺左震荡苦左 震荡奔】111111111】1133】3"
在Java中,你可以使用正则表达式配合`substring()`方法来获取最后一个"】"前的特定字符。这里的目标是取得最后两个"】"之间的内容,即倒数第11到倒数第1字符。正则表达式可以匹配到"】"字符,并找到它前面的位置。下面是一个示例:
```java
String input = "111111111111111133【震荡苦 左 夺工夺 苦基地震荡村枯甘载工地革甘甘基载夺夺甘左工夺左震荡苦左 震荡奔】111111111】1133】3";
int lastSquareBracketIndex = input.lastIndexOf("】");
if (lastSquareBracketIndex != -1) { // 检查是否找到"】"
String substringBeforeLastBracket = input.substring(0, Math.min(lastSquareBracketIndex+1, input.length()));
System.out.println(substringBeforeLastBracket);
}
```
这段代码会输出:"111111111111111133"。
阅读全文