正则当中的与
例子:要求字符串当中既有A又有B。
对于与,我们可以采用下面的方式:
其中PatternA为满足有A的条件,PatternB为满足B的条件
(?=PatternA)PatternB
于是我们就写表达式为:
String input="gewgwgABz"; String regex="^(?=.*[A]+.*).*[B]+.*$"; Matcher m = Pattern.compile(regex).matcher(input); System.out.println(m.matches());
如果还想字符串中含有C呢?同样原理,(?=(?=PatternA)PatternB)PatternC就可以了。
正则当中的非
例子:要求字符串当中有A但是不能有B。
对于与,我们可以采用下面的方式:
其中PatternA为满足有A的条件,PatternB为满足B的条件
(?!PatternB)PatternA
于是我们表达式如下:
String input="gewgwgAz"; String regex="^(?!^.*[B]+.*$).*[A]+.*$"; Matcher m = Pattern.compile(regex).matcher(input); System.out.println(m.matches());原文链接:https://www.f2er.com/regex/362351.html