【黑马程序员】java正则表达式学习总结
2014-06-20 22:34
513 查看
------ <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ------
1.正则表达式是一种可以用于模式匹配和替换的规范,将某个字符模式与所搜索的字符串进行匹配。
通过正则表达式操作字符串比手工编码效率高,代码也比较清晰。
2.在java中。主要用java.util.regex处理正则表达式。
(1)Pattern类:正则表达式的编译表示形式。
Pattern pat=Pattern.compile(String )
(2)Matcher类:通过解释Pattern对character sequence执行匹配操作的引擎。
Matcher mat=pt.matcher(Character )
(3)使用:
a。 while(mat.find()){
System.out.println(mat.group());
}
find()的操作与Iterator迭代器类似,mat.reset()可以重置find()
b。Boolean b=mat.matches();完全匹配返回true
c。String retStr=mat.replaceAll(String)替换匹配结果中的某些字符串并返回结构
d。String retStr=pat.split(String)
3.正则表达式语法:
正则表达式由常规字符,字符类(一组字符),统配符以及量词组成。
(1)常规字符根据自身进行匹配。如“xy”,匹配结果 “xy”
除了字母序列外,转义字符也属于常规字符。
(2)字符类是一组字符。通过在方括号之间放置字符,可以指定字符类。
a。[xyz]匹配x或y或z
b。[^xyz] 除x,y,z以外的字符。
c。[1-9] 指定数字1到9
(3)通配符是(.),可以匹配任何字符。
(4)量词决定表达式被匹配的次数
a。+:匹配一次或多次,“x+” 匹配 "x","xx","xxx"等
b。*:匹配零次或多次
c。?:匹配零次或一次
d。{n}重复那次,如 a{4}匹配4个a
{n,}重复n次或更多次
{n,m}重复n到m次
(5)常用的符号
\s 空格字符(空格,tab,\n,换页,回车)
\S费空格字符[^\s]
\d数字[0-9]
\D非数字字符
\w字母
\W非单词的字符
^一行的开始
\b一个单词的边界
\B一个非单词的边界
\G前一个匹配的结束
4.这种表达式的使用:
(1)匹配电话号码:
(2)匹配身份证号码:
(3)匹配Email
------ <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ------
1.正则表达式是一种可以用于模式匹配和替换的规范,将某个字符模式与所搜索的字符串进行匹配。
通过正则表达式操作字符串比手工编码效率高,代码也比较清晰。
2.在java中。主要用java.util.regex处理正则表达式。
(1)Pattern类:正则表达式的编译表示形式。
Pattern pat=Pattern.compile(String )
(2)Matcher类:通过解释Pattern对character sequence执行匹配操作的引擎。
Matcher mat=pt.matcher(Character )
(3)使用:
a。 while(mat.find()){
System.out.println(mat.group());
}
find()的操作与Iterator迭代器类似,mat.reset()可以重置find()
b。Boolean b=mat.matches();完全匹配返回true
c。String retStr=mat.replaceAll(String)替换匹配结果中的某些字符串并返回结构
d。String retStr=pat.split(String)
3.正则表达式语法:
正则表达式由常规字符,字符类(一组字符),统配符以及量词组成。
(1)常规字符根据自身进行匹配。如“xy”,匹配结果 “xy”
除了字母序列外,转义字符也属于常规字符。
(2)字符类是一组字符。通过在方括号之间放置字符,可以指定字符类。
a。[xyz]匹配x或y或z
b。[^xyz] 除x,y,z以外的字符。
c。[1-9] 指定数字1到9
(3)通配符是(.),可以匹配任何字符。
(4)量词决定表达式被匹配的次数
a。+:匹配一次或多次,“x+” 匹配 "x","xx","xxx"等
b。*:匹配零次或多次
c。?:匹配零次或一次
d。{n}重复那次,如 a{4}匹配4个a
{n,}重复n次或更多次
{n,m}重复n到m次
(5)常用的符号
\s 空格字符(空格,tab,\n,换页,回车)
\S费空格字符[^\s]
\d数字[0-9]
\D非数字字符
\w字母
\W非单词的字符
^一行的开始
\b一个单词的边界
\B一个非单词的边界
\G前一个匹配的结束
4.这种表达式的使用:
(1)匹配电话号码:
//正则表达式表示第一位是1,第二位为3或5,结尾为9位数字的一串数字 pat= Pattern.compile("^[1][3,5]+\\d{9}"); mat = p.matcher("13812345678"); boolean b = m.matches();
(2)匹配身份证号码:
//正则表达式表示第一位是1,第二位为3或5,结尾为9位数字的一串数字 pat = Pattern.compile("\\d{15}|\\d{18}"); mat= p.matcher("020101198506020080"); boolean b= m.matches();
(3)匹配Email
pat= Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"); mat = p.matcher("user@test.com"); boolean b = m.matches();
------ <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ------
相关文章推荐
- 黑马程序员--Java常用正则表达式学习及总结
- 黑马程序员学习log第九篇基础知识:JAVA的面向对象之正则表达式及反射总结
- 【黑马程序员】java正则表达式的学习和总结
- java正则表达式学习总结,以及和javascript正则表达式的区别
- java正则表达式学习总结,以及和javascript正则表达式的区别
- 黑马程序员_正则表达式学习总结
- java正则表达式学习总结!
- 黑马程序员_Java学习日记21_正则表达式
- 黑马程序员_Java学习日记第八天--TCP/UDP通信、正则表达式
- 黑马程序员 JAVA学习笔记 —— 正则表达式
- Java之正则表达式学习总结
- 黑马程序员 java学习笔记--正则表达式
- Java 正则表达式学习总结和一些小例子
- 黑马程序员 java学习笔记 Day8:正则表达式
- Java 正则表达式学习总结和一些小例子
- 黑马程序员 知识点总结-Java正则表达式
- 黑马程序员 16 Java基础教学 - 16 - 正则表达式总结
- 黑马程序员 Java自学总结十七 正则表达式
- 黑马程序员_Java第25天知识总结_正则表达式_匹配_切割_替换_获取_Pattern_Matcher
- 黑马程序员-Java基础总结14——正则表达式