iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >java中如何使用正则表达式中的组
  • 405
分享到

java中如何使用正则表达式中的组

2023-06-02 12:06:08 405人浏览 安东尼
摘要

这篇文章主要介绍java中如何使用正则表达式中的组,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!组是括号划分的正则表达式,可以根据组的编号来引用某个组。组号为0表示整个表达式,组号1表示从左到右被第一个括号扩起的组,

这篇文章主要介绍java中如何使用正则表达式中的组,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

组是括号划分的正则表达式,可以根据组的编号来引用某个组。组号为0表示整个表达式,组号1表示从左到右被第一个括号扩起的组,以此类推。

例如:

A(B(CD))E中有三个组:组0是ABCDE,组1是BCD,组2是CD。

Matcher对象提供了一系列方法,用以获取与组相关的信息:

方法作用

public int groupCount()返回该匹配器的模式中的分组数目,第0组不包括在内public String group()返回前一次匹配操作的第0组(整个匹配)public String group(int i)返回在前一次匹配操作期间的指定的组号public int start(int group)返回在前一次匹配操作中寻找到的组的起始索引public int end(int group)返回在前一次匹配操作中寻找到的组的最后一个字符索引加一的值

例子:

import java.util.regex.Matcher;import java.util.regex.Pattern;public class GroupsDemo {    static public final String POEM="Twas brilling, and the slithy toves\n"    + "Did gyre and gimble in the wabe.\n"    + "All mimsy were the boroGoves,\n"    + "And the mome raths outgrabe.\n";    public static void main(String[] args) {Matcher m=Pattern.compile("(\\S+)\\s+((\\S+)\\s+(\\S+))$",Pattern.MULTILINE).matcher(POEM);while (m.find()) {             for (int i = 0; i <=m.groupCount(); i++) {             System.out.print("第"+i+"组是:"+"["+m.group(i)+"]   ");}         System.out.println();}         }}

运行结果:

第0组是:[the slithy toves]   第1组是:[the]   第2组是:[slithy toves]   第3组是:[slithy]   第4组是:[toves]   第0组是:[in the wabe.]   第1组是:[in]   第2组是:[the wabe.]   第3组是:[the]   第4组是:[wabe.]   第0组是:[were the borogoves,]   第1组是:[were]   第2组是:[the borogoves,]   第3组是:[the]   第4组是:[borogoves,]   第0组是:[mome raths outgrabe.]   第1组是:[mome]   第2组是:[raths outgrabe.]   第3组是:[raths]   第4组是:[outgrabe.]

start()和end()的使用:

在匹配操作成功之后,start()返回先前匹配的起始位置的索引,而end()返回所匹配的最后字符的索引加一的值。如果匹配操作失败后(或先于一个正在进行的匹配操作去操作)调用start()或end()将会产生IllegalStateException.

下面是使用例子:

import java.util.regex.Matcher;import java.util.regex.Pattern;public class GroupsDemo {    static public final String POEM="Twas brilling, and the slithy toves\n"    + "Did gyre and gimble in the wabe.\n"    + "All mimsy were the borogoves,\n";    public static void main(String[] args) {Matcher m=Pattern.compile("(\\S+)\\s+((\\S+)\\s+(\\S+))$",Pattern.MULTILINE).matcher(POEM);while (m.find()) {           System.out.print("起始索引为:"+m.start());           System.out.println("结束索引为:"+m.end());                        for (int i = 0; i <=m.groupCount(); i++) {             System.out.print("第"+i+"组是:"+"["+m.group(i)+"]   ");                System.out.print("该组的起始索引为:"+m.start(i));                System.out.println("该组的结束索引为:"+m.end(i));}         System.out.println();}         }}

运行结果:

起始索引为:19结束索引为:35第0组是:[the slithy toves]   该组的起始索引为:19该组的结束索引为:35第1组是:[the]   该组的起始索引为:19该组的结束索引为:22第2组是:[slithy toves]   该组的起始索引为:23该组的结束索引为:35第3组是:[slithy]   该组的起始索引为:23该组的结束索引为:29第4组是:[toves]   该组的起始索引为:30该组的结束索引为:35起始索引为:56结束索引为:68第0组是:[in the wabe.]   该组的起始索引为:56该组的结束索引为:68第1组是:[in]   该组的起始索引为:56该组的结束索引为:58第2组是:[the wabe.]   该组的起始索引为:59该组的结束索引为:68第3组是:[the]   该组的起始索引为:59该组的结束索引为:62第4组是:[wabe.]   该组的起始索引为:63该组的结束索引为:68起始索引为:79结束索引为:98第0组是:[were the borogoves,]   该组的起始索引为:79该组的结束索引为:98第1组是:[were]   该组的起始索引为:79该组的结束索引为:83第2组是:[the borogoves,]   该组的起始索引为:84该组的结束索引为:98第3组是:[the]   该组的起始索引为:84该组的结束索引为:87第4组是:[borogoves,]   该组的起始索引为:88该组的结束索引为:98

以上是“java中如何使用正则表达式中的组”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: java中如何使用正则表达式中的组

本文链接: https://www.lsjlt.com/news/230013.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java中如何使用正则表达式中的组
    这篇文章主要介绍java中如何使用正则表达式中的组,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!组是括号划分的正则表达式,可以根据组的编号来引用某个组。组号为0表示整个表达式,组号1表示从左到右被第一个括号扩起的组,...
    99+
    2023-06-02
  • Java中正则表达式的使用
    正则表达式 什么是正则表达式 Regular Expression , 正则表达式, ⼀种使⽤表达式的⽅式对字符串 进⾏匹配的语法规则由一组持有特殊含义的字符串组成,通常用于匹配和替换文本正则的优点: 速度快, 效率⾼, 准确性⾼正则的缺点...
    99+
    2023-08-17
    正则表达式 java 开发语言
  • 正则表达式如何在java中使用
    正则表达式如何在java中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java中正则表达式运用实例(参看java中正则表达式运用详解):测试代码 pack...
    99+
    2023-05-31
    java 正则表达式 ava
  • 如何在Java API中使用正则表达式
    如何在Java API中使用正则表达式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、正则表达式的理论基础1、普通字符的表示我们说正则表达式主要由普通字符和元...
    99+
    2023-05-31
    java 正则表达式 api
  • 如何在Java中使用正则表达式API
    目录Java正则表达式包简单的例子Meta Characters元字符Character类ORNORRange类Union类Intersection类Subtraction...
    99+
    2024-04-02
  • 如何在正确的在JAVA中使用正则表达式
    这篇文章给大家介绍如何在正确的在JAVA中使用正则表达式,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。...
    99+
    2023-06-06
  • java如何使用正则表达式
    Java中使用正则表达式需要使用java.util.regex包中的相关类和方法。以下是使用正则表达式的基本步骤:1. 创建正则表达...
    99+
    2023-09-26
    java
  • MySQL中正则表达式如何使用
    这篇“MySQL中正则表达式如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL中正则表达式如何使用”文章吧。前...
    99+
    2023-07-02
  • VB中如何使用正则表达式
    在VB中使用正则表达式,可以通过引用System.Text.RegularExpressions命名空间来实现。以下是一个简单的示例...
    99+
    2024-04-03
    VB
  • C++中的正则表达式如何使用
    这篇文章主要介绍了C++中的正则表达式如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++中的正则表达式如何使用文章都会有所收获,下面我们一起来看看吧。介绍C++ 正则表达式教程解释了 C++ 中正则表...
    99+
    2023-06-30
  • PHP中正则表达式如何使用
    本篇文章为大家展示了PHP中正则表达式如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP正则表达式的定义:用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及...
    99+
    2023-06-17
  • MySQL中如何使用正则表达式
    这篇文章将为大家详细讲解有关MySQL中如何使用正则表达式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、简介MySQL中支持正则表达式匹配,在复杂的过滤条件中,可以考虑使用正则表达式。使...
    99+
    2023-06-25
  • grep中如何使用正则表达式
    这篇文章给大家分享的是有关grep中如何使用正则表达式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。grep是Linux中用于处理文件的工具之一。grep搜索输入文件,查找与正则表达式匹配的行,并将每个匹配的行标...
    99+
    2023-06-28
  • VBS中如何使用正则表达式
    这篇文章主要介绍VBS中如何使用正则表达式,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用正则表达式在典型的搜索和替换操作中,必须提供要查找的确切文字。这种技术对于静态文本中的简单搜索和替换任务可能足够了,但是由于...
    99+
    2023-06-09
  • Linux中正则表达式如何使用
    这篇文章将为大家详细讲解有关Linux中正则表达式如何使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux之正则表达式  正则表达式与通配符的区别:最常应用正则表达式的命令是grep(e...
    99+
    2023-06-16
  • sql中如何使用正则表达式
    sql中使用正则表达式可通过regexp_like()函数,使用posix语法匹配字符串。常用字符包括锚点字符、字符类和量词。正则表达式可用于在select、where和其他语...
    99+
    2024-05-02
  • C#中如何使用正则表达式
    C#中如何使用正则表达式,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。***个:验证输入的字符串是否为数字/// <summary>  ...
    99+
    2023-06-17
  • Flex中如何使用正则表达式
    本篇文章给大家分享的是有关Flex中如何使用正则表达式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Flex正则表达式引言Flex正则表达式(regularexpression...
    99+
    2023-06-17
  • Java 中使用正则表达式的方法
    本篇文章给大家分享的是有关Java 中使用正则表达式的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用RegexString.with(string).pattern(p...
    99+
    2023-05-31
    java 正则表达式 ava
  • 正则表达式如何在Java项目中使用
    本篇文章为大家展示了正则表达式如何在Java项目中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.常用正则表达式规则正则表达式语法  一个或多个汉字^[\u0391-\uFFE5]+...
    99+
    2023-05-31
    java 正则表达式 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作