Java 正则表达式 Pattern类和Matcher类

这篇具有很好参考价值的文章主要介绍了Java 正则表达式 Pattern类和Matcher类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

java.util.regex包主要包括三个类:

  • Pattern
  • Matcher
  • PatternSyntaxExcepiton

Pattern类

Pattern对象是一个正则表达式对象。Pattern类没有公共的构造方法。要创建一个Pattern对象,需要调用其公共静态方法。该方法接收一个正则表达式作为它的第一个参数。

常用方法

  • static Pattern compile(String regex):将给定的正则表达式编译到模式中。
  • Matcher matcher(String input):使用创建的规则匹配input字符串。
  • static boolean matches(String regex, CharSequence input)
    :使用传入的正则表达式整体匹配传入的字符串,如果满足返回true。

Matcher类

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

常用方法

  • boolean find():查找与该正则匹配的字符串的下一个匹配内容。

根据正则的规则,定位到满足条件的字符串,然后将开始索引记录到Matcher对象的int[] groups 数组中,再把结束索引 + 1记录到到该数组中;将oldLast 属性的值设置为结束索引+1的值,这个属性表示下次从这个索引的位置开始匹配。每次调用该方法,groups 数组会被重新赋值。

如果正则表达式中有分组,groups 数组也会进行分组记录,数组的第一个索引是开始索引,第二个索引是结束索引+1,从第三个索引开始,是分组的索引值,也是左闭右开(组的开始索引和组的结束索引+1)。

  • boolean find(int start):重置此匹配器,从指定索引处开始查找与该正则匹配的字符串的下一个匹配内容。

  • String group(int group):返回在以前匹配操作期间捕获的字符串。

根据groups 数组中的索引位置值截取,左开右闭,不包含第二个索引值位置。根据find()方法的特性,该方法的参数如果传0,就是获取正则表达式截取到的所有内容;如果传大于0的值,就是获取分组的内容的值,分组的索引就是从0开始。

  • int start():返回以前匹配的初始索引。

  • int start(int group):返回在以前的匹配操作期间,给定组所捕获的子序列的初始索引。

  • int end():返回匹配的子字符串的结束索引+1。

  • int end(int group):返回在以前的匹配操作期间,给定组所捕获的子序列的结束索引+1。

  • boolean lookingAt():尝试将从区域开头的输入序列与该模式匹配。

  • boolean matches():尝试将整个区域与模式匹配。

  • String replaceAll(String replacement):替换模式与给定替换字符串相匹配的输入序列的每个子序列。

public static void main(String[] args) {
    String content = "1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月," +
            "Sun公司发布了第二代Java平台(简称为Java2)的3个版本”";

    // 正则表达式:匹配四个数字,两个数字为一组
    String regex = "(\\d\\d)(\\d\\d)";
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(content);
    while (matcher.find()) {
        System.out.println("截取到的字符串:" + matcher.group(0));
        System.out.println("第一组:" + matcher.group(1));
        System.out.println("第二组:" + matcher.group(2));
    }
}

输出结果:

Java 正则表达式 Pattern类和Matcher类,Java,java,正则表达式,mysql

PatternSyntaxException

PatternSyntaxException类是一个非强制异常类,它表示一个正则表达式模式中的语法错误。文章来源地址https://www.toymoban.com/news/detail-833067.html

到了这里,关于Java 正则表达式 Pattern类和Matcher类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java】 java | 正则 | 正则表达式 | 强密码

    1、需要验证密码强度 2、使用正则 3、正则 4、java示例

    2024年02月07日
    浏览(40)
  • Java正则表达式

    正则表达式 能够理解正则表达式的作用 能够使用正则表达式的字符类 能够使用正则表达式的逻辑运算符 能够使用正则表达式的预定义字符类 能够使用正则表达式的限定符 能够使用正则表达式的分组 能够在String的split方法中使用正则表达式 在Java中,我们经常需要验证一些

    2024年01月19日
    浏览(33)
  • 正则表达式(Java)

    正则表达式是由一些特定的字符组成,代表一个规则,可以用来检验数据格式是否合法,也可以在一段文本中查找满足要求的内容。 如果使用代码检验数据是否正确: 使用正则表达式: String提供了一个匹配正则表达式的方法:  图片来源heimait \\\\d才会当成d使用 (?i)表示忽略大

    2024年02月20日
    浏览(40)
  • 正则表达式(JAVA)

    正则表达式在用于 校验信息 是否 满足某些规则 的时候,非常的好用 在 文本中查找 满足要求的内容 符号 作用 补充 [abc] 只能是a,b或c 匹配的一个字符只能是 [] 范围内的其中一个 [^abc] 除了a,b,c之外的任何字符 ^ 符号类似 非 [a-zA-Z] a到z A到Z ,包括范围 - 作用是由…到… ,两个或

    2024年02月10日
    浏览(31)
  • Java 正则表达式

    正则表达式的元字符可以大致分为六类: 限定符 选择匹配符 分组组合和反向引用符 特殊字符 字符匹配符 定位符 转义符 \\\\ 符号在检索某些特殊字符的时候可以使用,否则检索不到结果。 在Java中是 \\\\ ,而其他语言则是 。 一般 . * + ( ) $ / ? [ ] { } 都可能需要转义符 符号

    2024年02月21日
    浏览(103)
  • Java038——正则表达式

    正则表达式通常被用于判断语句中,用来检查某一字符串是否满足某一格式。正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称为正则表达式的元字符。例如,“d”表示数字 0~9 中的任何一个,“d”就是元字符。正则表达式中的元字符及其意义下所示。 在

    2024年02月13日
    浏览(29)
  • Java 正则表达式匹配

    正则表达式: 定义一个搜索模式的字符串。 正则表达式可以用于搜索、编辑和操作文本。 正则对文本的分析或修改过程为:首先正则表达式应用的是文本字符串(text/string),它会以定义的模式从左到右匹配文本,每个源字符只匹配一次。 正则表达式 匹配 this is text 精确匹配

    2024年02月06日
    浏览(46)
  • JAVA中正则表达式

    接下来,学习一个全新的知识,叫做正则表达式。 正则表达式其实是由一些特殊的符号组成的,它代表的是某种规则。 正则表达式的作用1:用来校验字符串数据是否合法 正则表达式的作用2:可以从一段文本中查找满足要求的内容 5.1 正则表达式初体验 现在,我们就以QQ号码

    2024年01月20日
    浏览(40)
  • JAVA系列---正则表达式

    编号 元字符 匹配功能 1 . 匹配除换⾏符以外的任意字符 2 w 匹配字⺟或数字或下划线 3 s 匹配任意的空⽩符 4 d 匹配数字 5 n 匹配⼀个换⾏符 6 t 匹配⼀个制表符 7 ^ 匹配字符串的开始 8 $ 匹配字符串的结尾 9 W 匹配⾮字⺟或数字或下划线 10 D 匹配⾮数字 11 S 匹配⾮空⽩符

    2024年02月15日
    浏览(50)
  • Java的正则表达式

    正则表达式是一种强大的字符串匹配工具,可以在很多领域得到广泛使用。在Java中,正则表达式也被广泛应用于字符串匹配、查找和替换等方面。本文将介绍Java中常用的正则表达式语法以及其使用方法,供大家参考。 Java中使用正则表达式需要使用java.util.regex包中的类。其中

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包