Java正则表达式的学习和运用

Java正则表达式的介绍

正则表达式定义了字符串的模式,它可以用来搜索、编辑或处理文本,平时多用于匹配和查找相应的字符串

正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别,正如我另一篇文章所介绍的MySQL数据库的正则

https://www.cnblogs.com/bc-song/p/14446839.html

因为语法上相差不大,所以这里就不介绍正则表达式的过多语法了,附图一张仅供参考,主要谈一下Java如何运用正则表达式

文章阅读和实践大概需要十分钟左右,本文涉及的知识点不是难点,希望不会浪费你宝贵的时间

正文

实例

正则 分析
this is text 匹配字符串 "this is text"
this\s+is\s+text 注意字符串中的 \s+,匹配单词 "this" 后面的 \s+ 可以匹配多个空格,之后匹配 is 字符串,再之后 \s+ 匹配多个空格然后再跟上 text 字符串。可以匹配this is text
^\d+(.\d+)? ^ 定义了以什么开始,\d+ 匹配一个或多个数字,? 设置括号内的选项是可选的,. 匹配 ".",可以匹配的实例:"5", "1.5" 和 "2.21"。

Java使用正则的引用包和实现类

java.util.regex 包主要包括以下三个类:
  * Pattern 类:
    pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。
    要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。
    该方法接受一个正则表达式作为它的第一个参数。

  * Matcher 类:
    Matcher 对象是对输入字符串进行解释和匹配操作的引擎。
    与Pattern 类一样,Matcher 也没有公共构造方法。
    你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。

  * PatternSyntaxException:
    PatternSyntaxException 是一个非强制异常类,它表示一个正则表达式模式中的语法错误。

正则表达式语法

正则

类方法介绍

Matcher类的方法
  public int start(): 返回以前匹配的初始索引。
  public int end():  返回最后匹配字符之后的偏移量。
  public boolean lookingAt():  尝试将从区域开头开始的输入序列与该模式匹配。
  public boolean find():  尝试查找与该模式匹配的输入序列的下一个子序列。
  public boolean matches():  尝试将整个区域与模式匹配。
  public String replaceAll(String replacement):   替换模式与给定替换字符串相匹配的输入序列的每个子序列。
  public String replaceFirst(String replacement):  替换模式与给定替换字符串匹配的输入序列的第一个子序列。

  find、lookingAt和matches的区别
     matcher.matches()是全匹配,只有整个匹配串完全匹配才返回true,如果前部分匹配成功,会继续匹配剩下的位置。
     matcher.find()是部分匹配,找到一个匹配字串后,将移动下次匹配直到匹配串尾部
     matcher.lookingAt()是部分匹配,从第一个字符进行匹配,匹配成功了不再继续匹配,匹配失败了,也不继续匹配
posted @ 2021-04-08 09:27  21岁还不是架构师  阅读(63)  评论(0编辑  收藏  举报