《疯狂Java讲义》9
目录
正则表达式
Java集合
正则表达式
昨天简单的介绍了一下正则表达式(好吧,就说了一句)。个人觉得这个玩意挺神奇,挺好玩,但是我不容易直接表述的很清楚。就简单讲点理论上的东西吧。
1. 正则表达式是一个用于匹配字符串的模板。实际上,任意字符串都可以当成正则表达式使用,例如“abc”,它也是一个正则表达式,只是它只能匹配“abc”字符串。
2. 创建正则表达式:
创建正则表达式就是创建一个特殊的字符串。在这个表达式中,有很多的字符,预定义字符、边界匹配符、特殊字符等。具体大家自行百度好了。
正则表达式支持的数量标识符有如下几种模式:
(1)Greedy(贪婪模式)
(2)Reluctant(勉强模式)
(3)Possessive(占有模式)
3. 使用正则表达式:
一旦在程序中定义了正则表达式,就可以使用Pattern和Matcher来使用正则表达式。
Pattern对象是正则表达式编译后在内存中的表示形式,因此,正则表达式字符串必须先被编译成Pattern对象,然后再利用Pattern对象创建对应的Matcher对象。执行匹配所涉及的状态保留在Matcher对象中,多个Matcher对象可共享同一个Pattern对象。
通过Matcher类的find()和group()方法可以从目标字符串中依次取出特定子串。
举个栗子:
上面展示的是在一些文字中自动寻找出电话号码的代码。
红框中的就是在创建Pattern和Matcher对象,目的是寻找电话号码,引号中的含义是:13开头或者15开头,后面随意跟一个阿拉伯数字,然后再随意跟8个数字的字符串。下面的蓝框就是通过find和group方法获得所需要的字符串。结果如下:
还是很神奇的对吧!如果程序再进一步,可以从网上提取超链接信息,再根据超链接打开其他网页,然后再其他网页上重复这个过程就可以实现简单的网络爬虫了。
其实还有很多比较好的操作,但是我不想写~后面就是什么国际化与格式化什么的,现在不想看~第七章过了~~噢耶!!!
Java集合
java集合类是一种特别有用的工具类,可用于存储适量不等的对象,并可以实现常用的数据结构,如栈、队列等。除此之外,Java集合还可用于保存具有映射关系的关联数组。Java集合大致可以分为Set、List、Queue和Map四种体系,其中Set表示无序,不可重复的集合;List表示有序,重复的集合;而Map表示既有映射关系的集合;Java5又增加了Queue体系集合,代表一种队列集合实现。
Java集合概述
为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组),Java提供了集合类。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。
集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象;而集合里只能保存对象。
Java的集合类主要是由两个接口派生而出:Collection和Map。
将Java所有集合分成三大类:Set集合、List集合、Map集合。
《疯狂Java讲义》9相关推荐
- 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条
http://blog.csdn.net/terryzero/article/details/3797782 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条 标签: swing编程 ...
- java下载pdf6_疯狂java讲义第6版 电子版(pdf格式)
疯狂java讲义第6版pdf是李刚打造的经典java编程图书的最新版,为了帮助更多的读者能真正掌握Java编程,感受到Java语言的魅力,领会到Java编程的快乐,作者根据多年来的Java授课经验,精 ...
- 《疯狂Java讲义精粹》读书笔记2 ------ 多态
-----------------<疯狂Java讲义精粹>2读书笔记--------------- Java引用变量有两个类型: · 编译时类型(由声明该变量时使用的类型决定) · 运行时 ...
- java画图颜色_手绘板,多种颜色选择。我抄的《疯狂java讲义》的,包我乱导的,但代码能用。...
[java]代码库import javax.swing.*; import java.awt.image.*; import java.awt.datatransfer.*; import javax ...
- 《疯狂Java讲义》学习笔记 第六章 面向对象(下)
<疯狂Java讲义>学习笔记 第六章 面向对象(下) 6.1包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char ...
- 李刚疯狂java讲义第3_【Java】-NO.16.EBook.4.Java.1.009-【疯狂Java讲义第3版 李刚】- 泛型...
1.0.0 Summary Tittle:[Java]-NO.16.EBook.4.Java.1.009-[疯狂Java讲义第3版 李刚]- 泛型 Style:EBook Series:Java Si ...
- [疯狂Java讲义精粹] 第十三章|类加载机制与反射
java.lang.reflect包下的接口和类, 包括Class, Method, Filed,Constructor和Array等, 这些类分别代表类, 方法, Field, 构造器和数组, Ja ...
- 疯狂Java讲义:P200接口
接口 Output package lee; public interface Output {//接口里定义的成员变量只能是常量int MAX_CACHE_LINE=50;//接口里定义的只能是pu ...
- 疯狂Java讲义_Chapter4_编写控制台的五子棋游戏
编写控制台的五子棋游戏 昨天复习了下<疯狂Java讲义>,完成前几章的习题, 现在基本完成了控制台五子棋游戏的编写,能够按照要求 保证用户下和电脑下的棋上不能已经有棋子 判断横.竖.左斜. ...
- 《疯狂Java讲义》读书笔记5
目录 Java的集合类 Inerator 接口 Set 集合 HashSet 类 LinkedHashSet 类 TreeSet 类 EnumSet 类 List 集合 ArrayList 和 Vec ...
最新文章
- MATLAB【二】————图像做减法,批量文本处理,子图显示
- 报名 | 大数据打造智慧的政府门户讲座
- 053_Unicode字符官方标准四
- oracle 怎么拼,ORACLE 简化拼接
- keil4编译c语言,用keil4编译C语言代码,编译通过,但是链接时无法产生.hex文件。...
- 2016OSC源创会年终盛典-综合技术专场-张小刚
- python postgresql跨数据库操作_python 操作postgres数据库
- 采用MATLAB的DSP调试方法
- 《从Excel到R 数据分析进阶指南》一第1章 生成数据表1.1 导入数据表
- linux中指令简约版
- bzoj2705: [SDOI2012]Longge的问题
- java删除文件目录及文件_Java删除文件,目录
- csdn广告屏蔽方法
- 国外十大在线支付服务网站
- vimdiff常用命令详解
- 小米投资美的布局智能家居 董明珠呛声:两个骗子
- Youtube视频推荐算法:从10页论文到4页论文的变迁
- HTTP/2 stream 1 was not closed cleanly before end of the underlying stream
- TMS570学习【2】pwm输出
- 校园卡系统(需调试)