请教如何写出一个不包含某字符的正则表达式,比如要求一段文字中不包含“新人”二字,但可以匹配其他文本

一段二三十个字的文本,但要求文本内容任何位置都不包含“新人”二字,但可以匹配其他文本。比如可以匹配一串四五位的数字。

非要用正则表达式吗?你可以用String的indexOf("新人"),
如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1。
这样说如果返回-1就是不存在新人追问

必须正则表达式,用正则表达式的时候遇到的困惑。

追答public class t{ 

 public static void main(String args[]){ 

 

 

 Pattern pattern = Pattern.compile("^((?!新人).)+$"); 

    Matcher matcher = pattern.matcher("adfdsf323423发生  新人2d32大幅让对方考虑了  546 345"); 

    System.out.println(matcher.find()); 

 }

}

这个德性可以了吧

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-21
不允许包含可以用否定环视呀((?!这里写不允许出现的字符).)*然后匹配其他字符
相似回答