/*.{3}(?=a)代表着这样的功能:* 查找给出的字符串中符合a前面有三个字母的这样的子串,当然取得的子串不包括(?=a)*/Pattern p = Pattern.compile(".{3}(?=a)");//(?=X) X,通过零宽度的正 lookahead String s1 = "444a66b";Matcher m = p.matcher(s1);while (m.find()) {p(m.group());}p("***********************************");/*同理\\d{3}(?=a)代表着这样的功能:* 查找给出的字符串中符合a前面有三个数字的这样的子串,当然取得的子串不包括(?=a)* 本例给出的444a66b是匹配的,得出的group是444* 而 "44d4a66b";是不匹配的,因为没有在a之前没连续的三个数字* 在例如.{3}(?=b)这样的匹配,如果用来匹配444a66b得到的字符串是a66*/p = Pattern.compile("\\d{3}(?=a)");//(?=X) X,通过零宽度的正 lookahead String s2 = "444a66b";m = p.matcher(s2);while (m.find()) {p(m.group());}p("***********************************");/*** 通过上面的(?=X)下面来测试和设想一下(?!a),api解释为* (?!X) X,通过零宽度的负lookahead,所以对比一下很容易想到* \\d{3}(?!a)代表着连续三个数字的后面出现的字符不是a的匹配,* 所以字符串444a666b只有一个匹配子串666* 字符串444b666b两个匹配444 666* 字符串444a666a都不匹配*/p = Pattern.compile("\\d{3}(?!a)");//(?!X) X,通过零宽度的负lookahead String s3 = "444b666b";m = p.matcher(s3);while (m.find()) {p(m.group());}

每天一点正则表达式积累之(?=X)和(?!X)测试(七)相关推荐

  1. 【项目管理一点通】(44) 用户测试(Alpha测试)

    虽然系统测试完成了,一般来说并不等于就直接进入到验收测试,实际工作中的测试工作还是比较啰嗦的,比如说,系统测试完毕之后,软件打包,打包之后还要测试软件是否能够正常部署,部署完毕之后还可能回归一遍系统测 ...

  2. 点滴积累--工作总结

    工作又进入到一个新的阶段,开始新的启程,再次接触新的报表,熟悉新的开发流程,一点一点的积累在报表上的开发线路. 其实现在回想,过去的这四个月很充实,但乐在其中,每天早饭后直接步行到公司,按着前一天规划 ...

  3. 一起来看看java正则表达式

    首先是字符解释: 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 向后引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序 ...

  4. 转载:正则表达式30分钟入门教程

    正则表达式30分钟入门教程 版本:v2.21 (2007-8-3) 作者:deerchao 来源:unibetter大学生社区 转载请注明来源 目录 本文目标 如何使用本教程 正则表达式到底是什么? ...

  5. JS的正则表达式[收藏]

    JS的正则表达式 //校验是否全由数字组成 代码 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return ...

  6. JS正则表达式使用详解

    简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下:  测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式 ...

  7. JS正则表达式详解(转)

    开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明 "^The": 开头一定要有"The"字符串; "of desp ...

  8. Java正则表达式:我最期望弄懂的知识,希望对大家都有帮助

    在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包. 可粗略估计一下,除了偶尔用Linux的外,其他Linu ...

  9. Java正则表达式应用详解

    如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单.如果你不熟悉这个术语,那么"正则表达式"(Regular Expres ...

  10. 如何在Java中验证电话号码(正则表达式+ Google libphonenumber)

    关于如何在不同国家(例如美国,美国)使用Java验证电话号码的快速指南. 带有正则表达式和Google libphonenumber API的示例程序. 1.简介 在本教程中,我们将学习如何在java ...

最新文章

  1. Centos 安装 MySql
  2. layer.js载入失效问题
  3. SpringBoot各种Controller写法
  4. redis的集群搭建
  5. 【推荐】揭秘谷歌电影票房预测模型
  6. Python+MySQL学习笔记(一)
  7. HTML JAVASCRIPT CSS 大小写敏感问题
  8. statusbar 尺寸 显示图标_StatusBar 图标展示流程 - 状态栏(StatusBar)镜头布局分析...- git完代码后的异常_169IT.COM...
  9. 实验 6 场景创建与执行 实验报告--软件功能测试与性能测试实验
  10. 写给工程师的10条精进原则
  11. 【ARTS】01_12_左耳听风-20190128~20190203
  12. [在线+源码]vue全家桶+Typescript开发一款习惯养成APP
  13. 在坦桑尼亚如何打国际长途,打给你中国的朋友?
  14. 苹果设计思维案例研究,困难期生存的关键
  15. js三座大山——原型及原型链
  16. 详解c语言main函数、printf函数、scanf函数与va家族
  17. 条件运算符(三目运算符)
  18. 回滚保存点后究竟发生了什么?
  19. Google Nexus 7 二代 刷入 Kail Net Hunter 过程记录!!!
  20. 程序员最容易吃的亏,就是不会说话!

热门文章

  1. 打印pdf文件 vfp_将Excel转换成PDF的工具有哪些?
  2. MySQL 8.0窗口函数介绍(一)
  3. Huffman树概念及理解
  4. GSL数学库解多参数方程
  5. Hadoop学习笔记(一):MapReduce工作机制
  6. shell 调试脚本设置
  7. 两个辅助指针变量挖字符串
  8. 调试uwp 程序 出现的黑框
  9. [POJ2195]Going Home(带权最大匹配,KM,最小费用流)
  10. 【Sort】QuickSort