java面向对象——单元测试 maven仓库镜像下载地址 常用的正则表达式 捕获组和非捕获组 正则表达式的拆分

单元测试

单元测试的目的在于测试一个方法中的代码是否出错 如果出错则显示暗红色条 没有错误显示绿色条
为什么要使用单元测试:为了正确的检测代码有效性 以及结果的正确性
下载2个jar包
junit
hamcrest //是junit的依赖包

框架 很多个jar包
jar包 工具包
如何导包
在项目中创建一个lib文件夹 将jar包拷贝到该文件夹中 Build Path->Add to Build Path

maven仓库镜像下载地址
http://maven.ibiblio.org/maven2/ MAVEN仓库的地址
http://maven.aliyun.com/ 阿里云的MAVEN仓库的地址
https://mvnrepository.com/ 中央仓库
http://repository.jboss.org/nexus/content/groups/public/ JBOSS MAVEN仓库
http://www.findjar.com
http://www.docjar.com

正则表达式

字符串的规范
java.utils.regex 包下面的类

Pattern 定义规则 正则表达式 (某个字符串是否符合我们这种规则)

Matcher 判断是否符合这个规则

贪婪模式 一般使用在我们的量词中 {3,6} 至少3次 最多6次

当我们要写比较复杂的正则表达式写不出时,可以拆分为许多个简单的表达式,把复杂的问题简单化。
例如写一个密码,密码必须是6-10位,并包含字符、数字和下划线:

public void regex()
	{
//		密码必须是6-10位,并包含字符、数字和下划线
//      拆分为 1. 6-10位  2.字母  3.数字 4.下划线
		String regex1=".{6,10}";
		String regex2=".*[a-zA-Z].*";
		String regex3=".*[0-9].*";
		String regex4=".*\\_.*";
		String password="dad_adad1";
		System.out.println(Pattern.matches(regex1, password));//判断是否符合第一个条件
		System.out.println(Pattern.matches(regex2, password));//判断是否符合第二个条件
		System.out.println(Pattern.matches(regex3, password));//判断是否符合第三个条件
		System.out.println(Pattern.matches(regex4, password));//判断是否符合第四个条件
		boolean flag=Pattern.matches(regex1, password)&&Pattern.matches(regex2, password)&&Pattern.matches(regex3, password)&&Pattern.matches(regex4, password);
		System.out.println(flag);
		
	}
	

捕获组和非捕获组

捕获组捕获并保存捕获结果,用\1调用保存的第一个捕获组……

非捕获组只匹配结果,但不捕获结果,也不会分配组号,当然也不能在表达式和程序中做进一步处理。

例如:
是(?=人) 表示人的相邻的前面必须是 是才能匹配 只获取一个
(?<=人)… 以人开头,不包含开头
…(?<=人) 以人结尾,包含结尾
baidu(?!com) 匹配com前面后面所有的baidu
baidu(?<!com) 匹配com开头和结尾的数据

(?:pattern)

匹配pattern,但不捕获匹配结果。

'industr(?:y|ies)

匹配’industry’或’industries’。

调用方式:

 Pattern p = Pattern.compile("a*b");
 Matcher m = p.matcher("aaaaab");
 boolean b = m.matches();

boolean matches=Pattern.matches("a*b","aaaaab");
System.out.println(matches);

总结:
(?=X) X,通过零宽度的正 lookahead:
后面必须是什么
(?!X) X,通过零宽度的负 lookahead:
后面不能是什么
(?<=X) X,通过零宽度的正 lookbehind:
前面必须是什么
(?<!X) X,通过零宽度的负 lookbehind:
前面不能是什么

常用的正则表达式

一、校验数字的表达式
1. 数字:^[0-9]*$   
2. n位的数字:^\d{
   n}$  
3. 至少n位的数字:^\d{
   n,}$
4. m-n位的数字:^\d{
   m,n}$
5. 零和非零开头的数字:^(0|[1-9][0-9]*)$  
6. 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{
   1,2})?$  
7.1-2位小数的正数或负数:^(\-)?\d+(\.\d{
   1,2})$  
8. 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$
9. 有两位小数的正实数:^[0-9]+(.[0-9]{
   2})?$
10.1~3位小数的正实数:^[0-9]+(.[0-9]{
   1,3})?$
11. 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){
   1,3}$ 或 ^\+?[1-9][0-9]*$
12. 非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
13. 非负整数:^\d+$ 或 ^[1-9]\d*|0$
14. 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$
15. 非负浮点数:^\d+(\.\d+)?$ 或 ^[
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值