欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA正则表达式匹配基础

程序员文章站 2022-07-12 12:37:07
...

 

正则表达式;提高程序的性能,简化代码,提高代码的可读性,简化对字符串的操作

 

正则表达式的用途;

字符串的匹配

字符串的分割

字符串的查找

字符串的替换

 

 

 

正则表达式的验证语法

   

  [a]    //[]表示这个字符只出现一次  ,[a] 表示a只出现一次
 [ abc ] 表示出现a或b或c只出现一次
 [^abc]   任何字符,除了 a、b 或 c
 [a-zA-Z]  a 到 z 或 A 到 Z,两头的字母包括在内(范围) 
 [a-d[m-p]]  a 到 d 或 m 到 p:[a-dm-p](并集) 
 [a-z&&[def]]  d、e 或 f(交集) 
 [a-z&&[^bc]]  a 到 z,除了 b 和 c:[ad-z](减去) 
 [a-z&&[^m-p]]  a 到 z,而非 m 到 p:[a-lq-z](减去)

 

 

 
验证字母是否为小写

Pattern pattern = Pattern.compile("a-z");
 Matcher matcher = pattern.matcher("s");
 matcher.matches();
条件成立为true

 

预定义字符类 
 

.   任何字符(与行结束符可能匹配也可能不匹配) 
\d  数字:[0-9] 
\D  非数字: [^0-9] 

\w   [a-zA-Z0-9]

\W   表示^\w以外的

 ^   非
 
验证字母是为任意字符+bc

Pattern pattern = Pattern.compile(".bc");
Matcher matcher = pattern.matcher("[abs?1]bc");
matcher.matches();
条件成立为true

 

 

数量词;

n?  一次或一次也没有

n*  0次或多次

n+  一次或多次

N{5} 出现五次

n{5,}  出现五次以上

n{5,10}  出现5到10次

 

  

   

验证字符串

Pattern pattern = Pattern.compile("JA[V]*A");
Matcher matcher = pattern.matcher("JAA");
matcher.matches();
条件成立为true

   

我的作业:

 

1,匹配邮箱地址:  admin_a_a@163.com     admin@163.com.cn

1),字母开头

2),字母,数字,下划线特殊符号组成

String str = "admin_999jihu_aa@163.com.xc";
		String ragexDemo = "[a-zA-Z]([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*"
				+ "@([a-zA-Z0-9]+).[a-zA-Z]{3}.?[a-zA-Z]{0,2}";
		boolean b = str.matches(ragexDemo);
		System.out.println(b);

 

  

 2.验证ip地址是否合法

匹配ip地址在0.0.0.0~~~~~~~~~255.255.255.254之间的

 //要匹配的字符
 String str = "0.0.155.254";
 //匹配规则
 String ragexDemo ="[12]?[0-9]?[0-5].[12]?[0-9]?[0-5].
			+""+[12]?[0-9]?[0-5].[12]?[0-9]?[0-4]";
boolean b = str.matches(ragexDemo);
System.out.println(b);