JAVA正则表达式匹配基础_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > JAVA正则表达式匹配基础

JAVA正则表达式匹配基础

 2014/10/13 12:58:14  百合不是茶  程序员俱乐部  我要评论(0)
  • 摘要:正则表达式;提高程序的性能,简化代码,提高代码的可读性,简化对字符串的操作正则表达式的用途;字符串的匹配字符串的分割字符串的查找字符串的替换正则表达式的验证语法[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&&
  • 标签:Java 正则表达式 表达式 正则

?

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

?

正则表达式的用途;

class="java" name="code">字符串的匹配

字符串的分割

字符串的查找

字符串的替换

?

?

?

正则表达式的验证语法

???

  [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次

?

??

???

验证字符串

monospace !important; float: none !important; height: auto !important; color: black !important; font-size: 1em !important; vertical-align: baseline !important; overflow: visible !important; font-weight: normal !important; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; border-width: 0px; padding: 0px !important;">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);

?

?

?

????

发表评论
用户名: 匿名