在正则表达式中,想不匹配某字符可以用:
[^a]* 表示匹配除a以外的所有字符
[^abc]* 表示匹配除a、b、c以外的所有字符,注意,是字符,而不是字符串,即a,b,c字符均不匹配
而当我们要不匹配某字符的时候,可以这样用:
((?!win).)* 表示匹配除单词win的其它所有字符
匹配某词在某词的前面,如:销售在生产的前面:
String string = "aaaa生p产aaaa销售aa生产"; String string2 = "aaaa生产aaaa销售aa生产"; System.out.println(string.matches("((?!生产).)*销售.*生产.*")); System.out.println(string2.matches("((?!生产).)*销售.*生产.*"));
上面输出:
true false