如何匹配下面这些字符串
"INDEX  A ( B,C )"
"INDEX  ( D,E )"

解决方案 »

  1.   

    \"INDEX\s+A?\s+\(\s+[B|D]\,[C|E]\s+\)\s\"
      

  2.   

    // String str2 = "INDEX     A   (   B,C   )";
    String str2 = "INDEX     (   D,E   ) ";
    // String str= "+8613688395123,+8613688395124 ";
    String ptn = "INDEX\\s+[A-Za-z]?\\s+\\(\\s+[A-Za-z],[A-Za-z]\\s+\\)";

    Pattern p = Pattern.compile(ptn);
    Matcher m = p.matcher(str2);
    if (m.find()) {
    System.out.println("str:" + m.group());
    }
      

  3.   

    String str = "的2Y353k可能够354kv可#23DF快递22空手32dd3KV道2349在k590Kv";
    String ptn = "([a-zA-Z\\d]+(?=kv|KV|kV|Kv))|(\\d{3,})|([a-zA-Z\\d]{3,})";
    Pattern p = Pattern.compile(ptn);
    Matcher m = p.matcher(str);
    String result = "";
    while (m.find()) {
    result = m.group();
    System.out.println(m.group());
    }