匹配要求不包含java的字符串i like java,haha不匹配i like jjjj,haha 匹配必须正则表达式
很菜的问题,希望大家帮忙,搞定了就结贴.

解决方案 »

  1.   

    import java.util.*; 
    import java.util.regex.*; public class Test {  
        public static boolean match(String s) { 
         boolean b = true; 
         Pattern p = Pattern.compile("java"); 
            Matcher m = p.matcher(s); 
            while(m.find()) { 
                b = false ;   
            } 
            return b; //如果找不到java返回真!否则返回假 
        } 
        
        public static void main(String[] args){  
              System.out.println("输入一行字符串");
              Scanner scan = new Scanner(System.in); 
              String s = scan.nextLine(); 
              System.out.println(match(s)); 
        }   
         
      

  2.   

    楼上的不行啊 
            String   input   =   "sdfsdf";   
            Pattern   p   =   Pattern.compile("/^((?!java).)*$/is");     
            Matcher   m   =   p.matcher(input);   
            if   (m.matches())   {     
                System.out.println(m.group());     
            }1楼哪种太简单不行因为我还要嵌套在一个大的正则表达式里面
      

  3.   

    String   input  =  "sdfsdf";    
            Pattern   p   =   Pattern.compile("^((?!java).)*$");      
            Matcher   m   =   p.matcher(input);    
            if(m.matches())   {      
                System.out.println(m.group());      
            } 
      

  4.   

    谢谢可以解释一下吗
    ((?!java).)
    是指什么?为什么!后取^吗
    谢谢!
    如果不知道为什么,只知道答案就没意义了.
    谢谢楼上两位
      

  5.   

    ("^((?!java).)*$");       
    ^:在默认情况下表示整个字符串的开始,对应的$表示字符串的结束((?!java).)表示不包含java的任何字符(需要注意的是,.在默认情况下不匹配换行符)
    *表示0或者任意次重复======================================================
    上面的代码还要修改一下:
    把Pattern   p   =   Pattern.compile("^((?!java).)*$");   
    改为Pattern   p   =   Pattern.compile("^((?!java).)*$",Pattern.DOTALL);  
    在Pattern.DOTALL模式下,.就可以匹配任何字符,包括换行符这所以要这样改是因为,String   input   =   "sdfsdf";    如果input包括换行符,比如说
    换成 String   input   =   "sdfsdf\n test";   时if(m.matches()) 就找不到匹配的(可以去试下)     
      

  6.   

    谢谢 结贴了 说的十分好,csdn上大家都怎么回答问题就好了
      

  7.   

    johnsoncr
     是真正的高手啊