java如何查询出字符串中最后一个json串
时间: 2024-01-28 17:05:31 浏览: 67
可以使用正则表达式来匹配字符串中的最后一个json串。
以下是一个Java示例代码:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class JsonStringFinder {
public static void main(String[] args) {
String input = "some text {\"name\":\"John\",\"age\":30} some more text {\"name\":\"Jane\",\"age\":25}";
Pattern pattern = Pattern.compile("\\{.*?\\}(?!.*\\{.*?\\})");
Matcher matcher = pattern.matcher(input);
String lastJsonString = "";
while (matcher.find()) {
lastJsonString = matcher.group();
}
System.out.println(lastJsonString);
}
}
```
在上面的示例中,我们使用正则表达式 `\\{.*?\\}(?!.*\\{.*?\\})` 来匹配字符串中的最后一个json串。该正则表达式的含义是:
- `\\{`: 匹配左花括号 `{`。
- `.*?`: 匹配任意字符,非贪婪模式。
- `\\}`: 匹配右花括号 `}`。
- `(?!.*\\{.*?\\})`: 负向前瞻,表示后面不能再出现左花括号 `{`。
这样就可以找到最后一个json串了。
阅读全文