java 正则匹配

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

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

阅读 2.6k
2 个回答

你的表达式没什么问题,只是你得先调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));
    }
    
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题