正则表达式,匹配非某字符或单词

在正则表达式中,想不匹配某字符可以用:

[^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




你可能感兴趣的:(其它技术)