java代码获取字符串中某个字符串所在的大括号里面的数据
时间: 2024-01-27 11:05:04 浏览: 69
假设你要获取字符串中某个字符串所在的大括号里面的数据,可以使用正则表达式和Java中的Matcher类来实现。下面是一个示例代码:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "{\"name\":\"张三\",\"age\":18,\"address\":{\"province\":\"广东\",\"city\":\"深圳\"}}";
String target = "address";
String regex = "\\{(.*?)\"" + target + "\":(.*?)(\\}|,)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
System.out.println(matcher.group(2));
} else {
System.out.println("未找到目标字符串");
}
}
}
```
在上面的代码中,我们首先定义了一个字符串`input`,它是一个包含嵌套的大括号的JSON格式字符串。我们还定义了一个字符串`target`,它是我们要查找的字符串。
接下来,我们定义了一个正则表达式`regex`,它使用了非贪婪匹配,以确保我们只获取目标字符串所在的最小的大括号内的数据。我们使用了`Pattern`类将正则表达式编译为模式,然后使用`Matcher`类在输入字符串中搜索匹配项。
如果我们找到了目标字符串,我们可以使用`matcher.group(2)`来获取所在大括号内的数据。如果没有找到目标字符串,则输出一条相应的消息。
阅读全文