解决方案 »

  1.   

    Matcher  m= Pattern.compile("\\s,(.+)(?=[^\\s]),").matcher(a);
    while(m.find()){
    System.out.println(m.group(1));
    }
      

  2.   

    用substring,split都能实现啊,可以不用正则表达式,当然用正则表达式也可以实现。
      

  3.   

    zheng正则表达式真心强大啊,用 java 的 substring 和 spilit  过于粗暴
      

  4.   

    这个就可以,不过单纯的只是针对Guangzhou和Guangdong
    String a = "iajfs kajsdfhkasj jhiuhew held at ,Guangzhou, Guangdong,China hkjsdhfakh askdfjas";
    Pattern pattern = Pattern.compile("(Guangzhou)|(Guangdong)");
    Matcher matcher = pattern.matcher(a);
    while (matcher.find()) {
    System.out.println(matcher.group(0));
    }