Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法抓取第一个捕获组-Matcher find()显示为空_Java_Regex - Fatal编程技术网

Java 无法抓取第一个捕获组-Matcher find()显示为空

Java 无法抓取第一个捕获组-Matcher find()显示为空,java,regex,Java,Regex,输出: String response = "{\"phone\":[{\"firstName\":\"sandeepan\",\"lastName\":\"\"}]}"; System.out.println("response "+response); Pattern ps = Pattern.compile("/\\{\"\\.\\*\"firstName\":\"([a-z]*)\"\\.\\*/"); Matcher m = ps.matcher(res

输出:

String response = "{\"phone\":[{\"firstName\":\"sandeepan\",\"lastName\":\"\"}]}";
System.out.println("response "+response);
        Pattern ps = Pattern.compile("/\\{\"\\.\\*\"firstName\":\"([a-z]*)\"\\.\\*/");
        Matcher m = ps.matcher(response);
        while(m.find()) {
            System.out.println("matched "+m.group());
        }
        System.out.println("After matching block");
regex正在运作,尽管-

为什么我们使用正则表达式而不是json解析:


  • 对于给定的电话号码,响应中可能有多组数据,我们可以获取第一组数据
  • 第一个属性中有一个值(“phone”是一个值,而不是一个键,因此需要将其建模为一个类,以便正确地进行建模。)

这只是一个一次性任务,因此我们需要快速完成-实现时间不多。

为什么要使用正则表达式解析JSON?响应中可能有多组数据与给定的电话号码对应,这只是一个一次性任务,因此,我们需要快速完成这项工作—没有太多的实现时间。请删除开头和结尾处的
/
。实际上,Java中的正则表达式与正则表达式测试仪中的正则表达式不同。你越轨了,真的被越轨弄糊涂了。您能指导我转义后的模式是什么吗?您所需要的只是
模式。编译(“\'firstName\”:\”([^\“]*)\”)
m.group(1)
response {"phone":[{"firstName":"sandeepan","lastName":""}]}
After matching block