第十一课:正则表达式,包装类
正则表达式:字符串的一些排列规则 -> String
开始符号:^
结束符号:$
常用标识:
[]:一个字符的位置
如:[abc],这个字符的位置内容只能是a或者b或者c
[a,z],这个字符的位置内容可以是所有的小写字母
[a-zA-Z0-9_],这个字符的位置内容可以式所有数字或者英文或者下划线
数量词:
+:出现一次或是多次
?:一次或者0次
*:0次或者多次
{n}:刚好n次
{n,m}:n~m次
{n,}:至少n次
例如: a+ -> "aa" "aaa"
[a-z0-9]{4,} -> "1234" "1a4f"
[a-zA-Z][a-zA-Z0-9_]{5,17} -> 简化: [a-zA-Z]\w{5,17}
特殊 : ^abc$ -> "abc"
^(SB|QNMLGB|nf)$ -> "abc" "bcd"
预定义字符类:
. :所有字符
\d:数字[0,9]
\s : 空白字符:[ \t\n\x0B\f\r]
\w : 单词字符:[a-zA-Z_0-9]
\D : 非数字 [^0-9]
转义: 有特殊意义的字符
. \ + ? * -
表示字符本身, 需要 \字符
\. \\ \+ \? \* \-
相关的的API:
1.boolean matches(String regex)
2.String replaceAll(String regex, String newStr)
3.String[] split(String regex)
String str = "shfiaih465hhihihi0498jaihih1"; String str1 = "123456"; String regex = "[\\d]+"; String[] word = str.split(regex); System.out.println(Arrays.toString(word)); Boolean b = str1.matches(regex); System.out.println(b); String str3 = "1045717595@q_.com"; String regex1 = "^[\\d]+\\W[\\w]{2}\\.[\\w]{3}$"; Boolean b1 = str3.matches(regex1); System.out.println(b1); System.out.println(str3.replaceAll(regex1,"[0-9]")); String ip = "192.168.3.100"; String regex4 = "\\."; String[] w = ip.split(regex4); System.out.println(Arrays.toString(w)); String email = "jdojo poojo "; String regex3 = "\\s+"; System.out.println(Arrays.toString(email.split(regex3))); Scanner console = new Scanner(System.in); String s = console.next(); Boolean b5 = s.matches(regex1); System.out.println(b5);
包装类: 将基本数据类型做了封装,
每一种基本数据类型都对应一种包装类型
一切皆对象 - 引用, 基本数据类型不属于对象
byte -> Byte
short -> Short
int -> Integer
long -> Long
double -> Double
float -> Float
char -> Character
boolean -> Boolean
Integer.parseInt("12a"); ->> NumberFormatException
Integer.toBinaryString() -> 将整数转换成二进制的字符串形式
Integer.parseInt("12a", 16) -> 将字符串以16进制方式转换成数字
// 1.1 int -> Integer 隐藏了自动装箱的操作
i1 = i; // 等同于: i1 = Integer.valueOf(i);
// 1.2 Integer -> int 隐藏了自动拆箱的操作
i = i1; // 等同于: i = i1.intValue();
所有的数值的包装类都拥有统一的父类: Number
所有的包装类, 都是 final 类
Integer: 常量池, 范围 -128 ~ 127
集合: java.util.Collection Map -> 接口
Collection coll = new ArrayList()
添加\移除\清空\判断是否为空\判断是否包含\长度
注意: 没有单独获得某个元素的方法, 只能迭代/遍历
Iterable -> 可迭代的, iterator() -> 获得迭代器
迭代器: 获得迭代器时, 游标指向集合中第一个元素之前
c1.addAll(Collection c2): 将c2中所有的元素加到c1中
c1.containsAll(Collection c2): 问c1中是否包含c2中的所有元素
c1.retainAll(Collection c2): 将c1中元素仅保留c2中出现的元素
c1.removeAll(Collection c2): 将c2中出现过的元素从c1里面移除掉
StringBuffer s = new StringBuffer(); s.append("xumeiying");//在末尾插入 System.out.println(s); s.insert(8,"ls");//在指定处插入 System.out.println(s); s.replace(0,5,"babye");//修改 System.out.println(s); s.delete(4,6);//删除 System.out.println(s); s.reverse();//翻转 System.out.println(s);int i = 1; Integer i1 = 1; Integer i2 = new Integer(2);//可以new对象 i = i1; //i = i1.intValue(); i1 = i;//i1 = Integer.valueOf(i); i1 = Integer.valueOf("12a",16);//将字符串变为数字 i = Integer.parseInt("12b",16); i1 = i1 + 3; System.out.println(i1); Collection<String> coll = new ArrayList<>(); coll.add("xumeiying"); coll.add("zcy"); coll.add("xiaohei"); coll.add("ty"); Collection<String> coll1 = new ArrayList<>(); coll1.add("zcy"); coll1.add("ty"); coll.removeAll(coll1); System.out.println(coll);Iterator<String> c = coll.iterator(); while(c.hasNext()){String str = c.next();System.out.println(str); }
第十一课:正则表达式,包装类相关推荐
- 【JAVA SE】第十一章 正则表达式、包装类和BigDecimal
第十一章 正则表达式.包装类和BigDecimal 文章目录 第十一章 正则表达式.包装类和BigDecimal 一.正则表达式 二.包装类 1.概述 2.装箱与拆箱: 3.基本数据和包装类之间的转换 ...
- C#之windows桌面软件第十一课:电脑ADC值显示(上位机)(多通道显示)
C#之windows桌面软件第十一课:电脑ADC值显示(上位机)(多通道显示) using System; using System.Collections.Generic; using System ...
- Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”
Coursera公开课笔记: 斯坦福大学机器学习第十一课"机器学习系统设计(Machine learning system design)" 斯坦福大学机器学习斯坦福大学机器学习第 ...
- NeHe OpenGL教程 第二十一课:线的游戏
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过
Kali Linux Web 渗透测试视频教程-第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...
- Python基础(十一)--正则表达式
Python基础(十一)--正则表达式 1 简述 正则表达式可以对指定的字符串与模式之间执行模式匹配.模式可以是普通的字符串,也可以是含有特殊意义字符的字符串.通过正则表达式,我们可以进行查找,校验等 ...
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第二十一课:Cocos2D-X网格特效1-3
[麦可网]Cocos2d-X跨平台游戏开发---学习笔记 第二十一课:Cocos2D-X网格特效1-3 ================================================ ...
- 补交20145226蓝墨云班课 -- 正则表达式作业
蓝墨云班课 -- 正则表达式作业 具体描述: 参考老师在博客园的 Intellj IDEA 简易教程中的单元测试,以TDD的放式学习云班课中"正则表达式简易教程.pdf",在此贴出 ...
- 第十一课 区块链常用共识算法介绍
上一节课我们学习了共识算法理论基础,今天我们继续深入学习区块链共识算法,通过这节课我们将了解工作量证明.权威证明.权威授权证明.实用拜占庭容错等相关内容. 在学习课程的时候,你也可以领取BaaS平台为 ...
- 第十一课 for循环(3)---循环变量的变化
第十一课 for循环(3)---循环变量的变化 [for循环流程] 前面介绍的for循环语句,学习了简单控制循环次数的格式,一般形式为: for( int i=0; i ...
最新文章
- Waymo的自主进化
- csrediscore访问redis集群_搭建文档 | centos7.6环境下redis5.0.8集群搭建
- STM32外设有哪些?外设在总线上是怎么挂载的?
- CSS中常用的样式语法
- 师大校园网迅雷解封软件 Ver1.0.1.5(2009-06-12)
- Allegro PCB 如何测量距离?比如走线之间的距离
- Schema initialization FAILED! Metastore state would be inconsistent !!
- SqlServer2008 安装经验日志总结
- 让nginx支持文件上传的几种模式
- java drawimage api_HTML5 Canvas API中drawImage()方法的使用实例
- 组合数学之排列组合(Permutations and Combinations)(四种情况)
- 内存取证分析,笔记版+实战,基础
- win7刷新环境变量的方法
- MS2131 USB 3.0 高清音视频采集+ HDMI 环出+混音处理芯片
- 普加项目管理甘特图使用--安装部署
- 计算机和用户账户名一样,求计算机账户与用户账户的区别与联系?
- MOOS程序解析记录(6)uSimMarine解析1
- 人人网发布啵啵: 带语音滤镜的语音社交产品
- 计算机全键在线使用说明书,键盘说明图_电脑键盘使用说明讲解
- 深度学习中FLOPs计算
热门文章
- 使用java来写一个游戏外挂-内存修改程序(辅助-开篇)
- 【OpenFOAM并行——绑定核心方法】
- 计算机图形学——向量间的关系
- Rust China Conf 2021 首批议题确定
- Tomcat 8 部署activiti-explorer 流程设计器
- html5+css3实现扇形
- 浙江大学计算机3word知识,《浙江大学远程教育计算机3.Word知识题 答案》.doc
- Lua 公历转农历算法(1921~2040)
- Windows内置系统账户:Local system/Network service/Local Service 区别
- java中delete请求,如何在JAVA中的HttpURLConnection中发送PUT,DELETE HTTP请求