import java.util.regex.*;
public class StringCount{
   public static void main(String args[]){
   String s="解决 DCOM 的问题主要是解决程序配置和部署的问题。由于 DCOM 涉及到在多台计算机上运行的程序,所以潜在的问题比在单机上使用COM时要大。其他可能需要解决的问题包括程序和网络协议之间的安全机制。因为在默认情况下 COM 安全是打开的,所以只要试图访问COM对象的COM程序或客户程序启动COM对象,就会开始进行安全检查。";
   
   
   Pattern p=Pattern.compile("COM");
   Matcher m=p.matcher(s);
   int count=0;
   System.out.println(s);
   while(m.find())  {count++;System.out.println(m.group());}
   System.out.println("The number is :"+count); 
}}

解决方案 »

  1.   

    改成Pattern p=Pattern.compile(" COM ")应该可以吧,因为DCOM也包含了COM呀
      

  2.   

    上面写错了,不好意思
    应该是这样,具体条件还需要再明确,你可以先这样写 Pattern p = Pattern.compile("([^a-zA-Z](COM)[^a-zA-Z])");
    Matcher m = p.matcher(s);
    int count = 0;
    System.out.println(s);
    while (m.find()) {
    count++;
    System.out.println(m.group(2));
    }
    System.out.println("The number is :" + count);