Java中Matcher类查找网页中的某一个指定字符串

需求:从html网页中获取某个json字符串中key的value。
例如:有以下字符串,获取display_url的值。

<script  type="text/javascript">
{"graphql":{"media_preview":"www.baidu.com","display_url":"www.google.com"}}
</script>
  /**
   * @param source html网页
   * @param reg    正则表达式
   * @return
   */
  public static String match(String source, String reg) {
    Matcher m = Pattern.compile(reg).matcher(source);
    String result = "";
    while (m.find()) {
      result = m.group(0);
      System.out.println("m.group(0) -> " + result);
      result = m.group(1);
      System.out.println("m.group(1) -> " + result);
    }
    return result;
  }

  public static void main(String[] args) {
    String source = "<script  type=\"text/javascript\">\n"
        + "{\"graphql\":{\"media_preview\":\"www.baidu.com\",\"display_url\":\"www.google.com\",\"id\":188}}\n"
        + "</script>";
    String reg = "\"display_url\":\"(.*?)\",";
    System.out.println(match(source, reg));
  }

输出结果: 

m.group(0) -> "display_url":"www.google.com",
m.group(1) -> www.google.com
www.google.com

正则表达式说明:

"display_url":"(.*?)",

1、第一个group(0)是默认的,表示整个正则表达式所匹配的字符串。

2、第二个group(1)才是正则表达式中()所匹配的值。

3、“.”表示匹配任意字符;“*”表示匹配多个;“?”表示贪婪匹配,表示前面符合".*”+后面符合“"”最短的字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值