正则表达式:字符串的一些排列规则 -> 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);
}

第十一课:正则表达式,包装类相关推荐

  1. 【JAVA SE】第十一章 正则表达式、包装类和BigDecimal

    第十一章 正则表达式.包装类和BigDecimal 文章目录 第十一章 正则表达式.包装类和BigDecimal 一.正则表达式 二.包装类 1.概述 2.装箱与拆箱: 3.基本数据和包装类之间的转换 ...

  2. C#之windows桌面软件第十一课:电脑ADC值显示(上位机)(多通道显示)

    C#之windows桌面软件第十一课:电脑ADC值显示(上位机)(多通道显示) using System; using System.Collections.Generic; using System ...

  3. Coursera公开课笔记: 斯坦福大学机器学习第十一课“机器学习系统设计(Machine learning system design)”

    Coursera公开课笔记: 斯坦福大学机器学习第十一课"机器学习系统设计(Machine learning system design)" 斯坦福大学机器学习斯坦福大学机器学习第 ...

  4. NeHe OpenGL教程 第二十一课:线的游戏

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  5. Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过

    Kali Linux Web 渗透测试视频教程-第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...

  6. Python基础(十一)--正则表达式

    Python基础(十一)--正则表达式 1 简述 正则表达式可以对指定的字符串与模式之间执行模式匹配.模式可以是普通的字符串,也可以是含有特殊意义字符的字符串.通过正则表达式,我们可以进行查找,校验等 ...

  7. 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第二十一课:Cocos2D-X网格特效1-3

    [麦可网]Cocos2d-X跨平台游戏开发---学习笔记 第二十一课:Cocos2D-X网格特效1-3 ================================================ ...

  8. 补交20145226蓝墨云班课 -- 正则表达式作业

    蓝墨云班课 -- 正则表达式作业 具体描述: 参考老师在博客园的 Intellj IDEA 简易教程中的单元测试,以TDD的放式学习云班课中"正则表达式简易教程.pdf",在此贴出 ...

  9. 第十一课 区块链常用共识算法介绍

    上一节课我们学习了共识算法理论基础,今天我们继续深入学习区块链共识算法,通过这节课我们将了解工作量证明.权威证明.权威授权证明.实用拜占庭容错等相关内容. 在学习课程的时候,你也可以领取BaaS平台为 ...

  10. 第十一课 for循环(3)---循环变量的变化

    第十一课  for循环(3)---循环变量的变化 [for循环流程] 前面介绍的for循环语句,学习了简单控制循环次数的格式,一般形式为:               for( int i=0;  i ...

最新文章

  1. Waymo的自主进化
  2. csrediscore访问redis集群_搭建文档 | centos7.6环境下redis5.0.8集群搭建
  3. STM32外设有哪些?外设在总线上是怎么挂载的?
  4. CSS中常用的样式语法
  5. 师大校园网迅雷解封软件 Ver1.0.1.5(2009-06-12)
  6. Allegro PCB 如何测量距离?比如走线之间的距离
  7. Schema initialization FAILED! Metastore state would be inconsistent !!
  8. SqlServer2008 安装经验日志总结
  9. 让nginx支持文件上传的几种模式
  10. java drawimage api_HTML5 Canvas API中drawImage()方法的使用实例
  11. 组合数学之排列组合(Permutations and Combinations)(四种情况)
  12. 内存取证分析,笔记版+实战,基础
  13. win7刷新环境变量的方法
  14. MS2131 USB 3.0 高清音视频采集+ HDMI 环出+混音处理芯片
  15. 普加项目管理甘特图使用--安装部署
  16. 计算机和用户账户名一样,求计算机账户与用户账户的区别与联系?
  17. MOOS程序解析记录(6)uSimMarine解析1
  18. 人人网发布啵啵: 带语音滤镜的语音社交产品
  19. 计算机全键在线使用说明书,键盘说明图_电脑键盘使用说明讲解
  20. 深度学习中FLOPs计算

热门文章

  1. 使用java来写一个游戏外挂-内存修改程序(辅助-开篇)
  2. 【OpenFOAM并行——绑定核心方法】
  3. 计算机图形学——向量间的关系
  4. Rust China Conf 2021 首批议题确定
  5. Tomcat 8 部署activiti-explorer 流程设计器
  6. html5+css3实现扇形
  7. 浙江大学计算机3word知识,《浙江大学远程教育计算机3.Word知识题 答案》.doc
  8. Lua 公历转农历算法(1921~2040)
  9. Windows内置系统账户:Local system/Network service/Local Service 区别
  10. java中delete请求,如何在JAVA中的HttpURLConnection中发送PUT,DELETE HTTP请求