博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式-包含A字符串且不包含B字符串
阅读量:5037 次
发布时间:2019-06-12

本文共 780 字,大约阅读时间需要 2 分钟。

/**

* 例:包含admin且不包含abc。
加上首尾  ^((?!abc).)$ 表示匹配一行 ^((?!abc).)admin((?!abc).)$
* 查资料知道:
* (?!pattern) 负向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始
* (?!abc) 的意思是 , 不匹配abc
* 那么((?!abc).)*  的意思就是匹配  不含abc的字符(?!abc) 跟 任意字符. 的组合,出现任何次 
* ((?!abc).)* 的结果就是 匹配了不包含abc的字符串
/
String pattern1 = "^((?!(qq)|(douyin)).)
*$";

String kahaojizhuangtai = "{\"idcard\":\"152321XXXXXXXX3910\",\"id\":\"0\",\"name\":\"张XX\"}";    Pattern r = Pattern.compile(pattern1);    Matcher m = r.matcher(kahaojizhuangtai);    boolean matches = m.matches();    System.out.println(matches);

转载于:https://www.cnblogs.com/mumian2/p/10926361.html

你可能感兴趣的文章
Mysql之执行计划
查看>>
propertychange事件导致的IE浏览器堆栈溢出
查看>>
硬链接与软链接
查看>>
Sigar使用
查看>>
cognos安装 win7+Sqlserver08SP1
查看>>
selenium+python自动化测试--数据驱动
查看>>
Struts2 表单标签
查看>>
chrome扩展程序开发
查看>>
图片滚动懒加载用jquery-lazyload 与手动Jquery 写
查看>>
如何用crontab运行一个图形化界面的程序
查看>>
PHP高级面试题
查看>>
java基础之常用类的方法
查看>>
Linux服务之nginx服务篇三(反向代理、负载均衡)
查看>>
tcp协议四次握手
查看>>
割点-模板
查看>>
洛谷P2577 [ZJOI2005]午餐 打饭时间作为容量DP
查看>>
mac air上archlinux的安装及优化
查看>>
力扣——单值二叉树
查看>>
MyBatis 对数据库进行CRUD操作
查看>>
HttpRuntime.Cache被清空的DataTable
查看>>