java 正则表达式截取json字符串 测试工具上测试成功,实际使用匹配失败

首先我需要截取的是一个比较复杂的json字符串,要抓里面的几个数据的值,所以我打算用正则来匹配。

图片描述

以抓取上述的quatationNo为例:

clipboard.png

代码:

String regex = "\"quotationNo\":\"(.*?)\",\"receiverInfo\"";
String target = Pattern.compile(regex).matcher(str).group(1);

测试结果

clipboard.png

问题

Exception in thread "main" java.lang.IllegalStateException: No match found

测试成功,但是在代码里面却匹配错误。问题是在哪啊?

请指教。

先谢过。

阅读 6.2k
2 个回答

你还没查找当然获取不到,要先调用find()

 while(matcher.find()){
              System.out.println(matcher.group());
          }

试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题