JAVA API 之正则表达式

Day02

     正则表达式

     匹配:匹配个数要一样字母大小敏感  数字看整体的数值 

     注意   \\ java 中只代表一个 \   特殊字符需要转义 


## 正则表达式 

### 什么是正则

       1. 正则本身是一个字符串

       2. 正则用于检索目标字符串中的规则

       3. 正则是规定字符规则的字符串。

       4. 正则需要解析器执行,Java提供了相关的解析处理API

       5. 常见的编程语言大部分支持提供了正则API

1普通字符得匹配

       包括字母数字汉字下划线以及没有特殊定义的标点符号  (所有的都要匹配完才结束)  /(普通字符)

2简单的转义字符

      \r 代表回车                  \\t代表 (\ t) java中单独写 \ 会报错

      \t 代表值表符

      \n 换行符

      \\代表 \本身

      \ 转义字符  (特殊用处得标点符号需要转义\^   \$  \.

3预定的匹配符号

      .  规则:任意一个字符(除换行符外\n  \r

      \d : 0-9 任意的数字的任意一个

      \D: 非数字  符的任意一个

       \w : 任意的数字字母下划线的任意一个

       \W : 非任意的  数字字母下划线

       \s 包括空格制表符换行符等空白字符的任意一个    单一的空格只能匹配空格  单一的/t 只能单一匹配

        \S 除了单个字符外的所有字符

4 自定义的匹配

        [abc] 匹配:abc字符之一

         [^abc]匹配:除了abc字符之一

         [a-z]匹配:abc ... z 字符之一

         [a-zA-Z0-9]匹配:a-z , A-Z 0-9 字符之一

          [a-z&& [^de]] 匹配:a-z 中除去 d e

          ^ 取非   - ...

5 匹配次数的特殊符号(向左看)修饰前面的

      {n}      n

      {m,n}  m n

      {m,}     至少任意次

       ? 0 1

      *  0

      +  1  

6 特殊字符的匹配需要转义

    [  ] {  }  ?  *  + .  \  ( )  | ^  $  的字符

    /来转义写成//

 7匹配边界

      ^ 放在中括号表示取反  外面表示开头

 8 关于边界匹配 ^ $

      1. 一般情况下对于字符串整体进行检验时候使用 ^ $

              -如:检查用户输入的电话号码的整体符合电话号码规则

              >matches 本身是包含边界匹配

     2. 如果只是匹配字符串中的部分信息,就不要使用 ^ $

             - 如:检索目标字符串中的敏感词,并且替换

 9 分组

          取反(?:

          将一组序列整体进行处理

案例:

         匹配规则: abcabcabcabcabcabc, abc连续出现6

         利用分组: (abc){6}

10 | 表示的意思

         通常和()以一起用

object 根基类

toString() 所有子类应该重写 toString( ),toString()一般返回一些重要的属性  由系统自动调用

matches

简单检查字符串整体是否符合指定的规则, 返回boolean类型的结果,true表示检查成功。

 booleanb = 字符串.matches(正则规则)

> 这个方法默认包含重头到尾的边界匹配,所以是否使用边界匹配结果是一样的。

replaceAll

语法:去除一句话的敏感词

              字符串.replaceAll(正则, 替换字符串)

              text.replaceAll("[去草]", "**");

### Split

数据:            ]

     str= "1,  范传奇, [email protected], 110"

需求: 

              将如上数据拆分开:

              "1"

              "范传奇"

              "[email protected]"

              "110"

              String[]ary=str.split(分界位置正则)

## Object

1. 如果类没有声明父类型,则其默认继承于Object

2. 如果一个类有父类型,则其父类型或祖先类型一定继承于Object

3. 任何类型一定继承于 Object

4. 继承了Object的全部可继承方法

 -toString

### toString 方法

1. 任何类型的对象都继承了Object方法

2. 默认的返回值类全名@散列值默认的toString返回值,没有业务意义!

3. Java 建议子类重写掉 toString

      * 如何重写toString经常返回对象的关键属性

      * 信息,根据业务规则选定关键属性,方便软件

      * 的调试。println() 会自动调用toString

      * 很多Java API 会自动调用toString方法

  1. 如果类没有声明父类型,则其默认继承于Object

   2. 如果一个类有父类型,则其父类型或祖先类型

    一定继承于Object

   3. 任何类型一定继承于 Object

   4. 继承了Object的全部可继承方法

### equals 方法

Object提供了equals方法,用于比较对象是否相等,但其默认的方法不能达到这个目的,Java建议子类重写equals方法解决两个对象比较是否相等的问题。

> 可以利用开发工具提供的 equals 实现功能,快速的实现equals方法

 


猜你喜欢

转载自blog.csdn.net/qq_34475529/article/details/80873047