微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

处理正则当中的与、非

正则当中的与

例子:要求字符串当中既有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.jb51.cc/regex/362351.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐