H5W3
当前位置:H5W3 > 其他技术问题 > 正文

java 正则匹配

  @Test
  public void test() {
    Pattern pattern = Pattern.compile("\"(\\w+)\":\"(\\w+)\"");
    Matcher m = pattern.matcher("\"KEY\":\"VAL\"");
    m.group(1);
  }

请问这个正则为什么无法匹配. 脑子进猪油了,现在

回答:

你的表达式没什么问题,只是你得先调m.find()再取m.group(1)

回答:

    因为'\'和'"'(双引号)是需要要转义符的'\'的.像下面写就能行了.
    Pattern pattern = Pattern.compile("\\\"(\\w+)\\\":\\\"(\\w+)\\\"");
    Matcher m = pattern.matcher("\"KEY\":\"VAL\"");
    //m.group(1);
    if(m.find()){
        System.out.println(m.group(1));
    }
    

本文地址:H5W3 » java 正则匹配

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址