`

正则表达式Matcher 的group()与group(int group)

    博客分类:
  • java
阅读更多

group

public String group()
返回由以前匹配操作所匹配的输入子序列。

对于具有输入序列 s 的匹配器 m,表达式 m.group()s.substring(m.start(), m.end()) 是等效的。

注意,某些模式(例如,a*)匹配空字符串。当模式成功匹配输入中的空字符串时,此方法将返回空字符串。

 

指定者:
接口 MatchResult 中的 group
返回:
以前匹配操作所匹配的字符串形式的子序列(可能为空)。
抛出:
IllegalStateException - 如果没有尝试任何匹配,或者以前的匹配操作失败。

<!-- -->

group

public String group(int group)
返回在以前匹配操作期间由给定组捕获的输入子序列。

对于匹配器 m、输入序列 s 和组索引 g,表达式 m.group(g)s.substring(m.start(g), m.end(g)) 是等效的。

捕获组是从 1 开始从左到右的索引。组零表示整个模式,因此表达式 m.group(0) 等效于 m.group()

如果该匹配成功了,但指定组未能匹配输入序列的任何部分,则返回 null。注意,某些组(例如,(a*))匹配空字符串。当这些的组成功匹配输入中的空字符串时,此方法将返回空字符串。

 

指定者:
接口 MatchResult 中的 group
参数:
group - 此匹配器模式中捕获组的索引。
返回:
在以前的匹配期间组所捕获的子序列(可能为空);如果组未能匹配输入的部分,则返回 null
抛出:
IllegalStateException - 如果没有尝试任何匹配,或者以前的匹配操作失败。
IndexOutOfBoundsException - 如果在给定索引的模式中不存在捕获组。

public static String[] regExFilterStr(String str, String regEx) throws Exception {
  Pattern p = Pattern.compile(regEx);
  Matcher m = p.matcher(str);
  List<String> list = new ArrayList<String>();
  while(m.find()){
   list.add(m.group(1));
  }

String regex = "\\{id:'(.*?)',name:'";

id:'fks_084064087086082066093083074064081087088067092084086',name:'

返回:fks_084064087086082066093083074064081087088067092084086
  String[] groups = new String[list.size()];
  return list.toArray(groups);
 }

分享到:
评论

相关推荐

    使用Java正则表达式分析处理日志

    3. **执行匹配**:调用`Matcher`对象的`find()`方法来查找匹配项,或者`matches()`方法检查整个输入是否与正则表达式完全匹配。 4. **处理匹配结果**:使用`group(int group)`方法获取匹配的子串,或者`start(int ...

    测试正则表达式软件

    - `group(int group)`:获取匹配的分组,`group(0)`为整个匹配的子串,`group(1), group(2),...`为捕获的分组。 测试正则表达式的软件可以帮助开发者在编写和调试正则表达式时提供实时反馈,确保它们按预期工作。...

    java正则表达式截取demo下载即可运行

    `Pattern`类用于编译正则表达式,而`Matcher`类则是用来在特定输入字符串中查找与正则表达式匹配的序列。 1. **Pattern类**: - `Pattern.compile(String regex)`:这是编译正则表达式的基本方法,将字符串转换为`...

    正则表达式知识示例详解源代码(java版)

    3. **分组与获取匹配结果**:`Matcher`的`group(int group)`方法可以获取匹配的子串,`groupCount()`返回分组数量。 4. **替换操作**:`Matcher`的`replaceAll(String replacement)`和`replaceFirst(String ...

    Java正则表达式详细讲解

    在Java中,字符串与正则表达式之间的操作主要由`Pattern`、`Matcher`和`String`类的`matches()`、`split()`和`replaceAll()`等方法完成。 ### 2. 创建正则表达式 要创建一个正则表达式,你需要在字符串中包含特定...

    正则表达式的调试器java实现

    3. **分组与回溯**:正则表达式中的括号可以创建分组,`Matcher`提供了访问这些分组的方法,如`group(int group)`。回溯机制允许正则引擎在匹配失败时撤销先前的匹配,以尝试其他可能性。 4. **迭代匹配**:对于...

    java正则表达式实例教程

    - `group(int group)`方法用于获取匹配的子串。 6. 替换操作: - `replaceAll(String regex, String replacement)`用新的字符串替换所有匹配的部分。 - `replaceFirst(String regex, String replacement)`仅替换...

    用于练习正则表达式的java运行源码

    `Matcher`的`group(int group)`方法可以获取这些捕获组的内容,`group(0)`通常返回整个匹配的字符串,而`group(1)`返回第一个捕获组的内容。 5. **替换操作**:`Matcher`的`replaceAll(String replacement)`和`...

    正则表达式.rar

    5. **分组与捕获**:`group()`方法可以获取匹配的子串,`group(int group)`可以获取指定组号的子串。 进阶概念: 1. **预查(Positive lookahead)**:`(?=...)`确保匹配的字符串后面跟着特定的模式,但不包含在...

    Java正则表达式简单应用

    `Pattern`类用于编译正则表达式,而`Matcher`类则是用来在给定的输入字符串中搜索与正则表达式匹配的序列。 1. **创建Pattern对象**: 首先,我们需要编译正则表达式。这可以通过调用`Pattern.compile(String ...

    java正则表达式学习

    【Java正则表达式学习】 Java正则表达式是Java编程语言中用于处理字符串的强大工具,自JDK1.4版本起被引入。它源于PHP并迅速流行,主要用于复杂字符串的验证和处理。正则表达式可以高效地完成对字符串的检查、分割...

    JAVA正则表达式Pattern和Matcher

    Matcher是Pattern的一个关键接口,它提供了多种匹配方法来检查字符串是否符合给定的正则表达式。Matcher的主要方法包括: - boolean matches():尝试将整个输入序列与模式匹配。如果输入序列与整个模式完全匹配,则...

    java正则表达式及例子 pdf

    在Java中,正则表达式通常通过`java.util.regex.Pattern`和`java.util.regex.Matcher`两个类进行操作。 1. 创建Pattern对象: ```java Pattern pattern = Pattern.compile("正则表达式"); ``` 之后,你可以使用...

    java最常用的正则表达式

    在Java中,`java.util.regex`包提供了对正则表达式的支持,主要包括`Pattern`、`Matcher`和`PatternSyntaxException`三个类。 1. **Pattern类**:它是正则表达式的编译表示。我们可以通过`Pattern.compile()`方法...

    Java 用正则表达式作文本处理

    正则表达式中的括号可以用来定义捕获组,`Matcher`提供`group(int group)`方法来获取捕获组的值。 6. **迭代匹配:** 对于多个匹配结果,可以使用`Matcher.find()`的循环来遍历所有匹配的子串。 在实际应用中,...

    java正则表达式

    在Java中,你可以使用`Pattern`类来编译正则表达式,并用`Matcher`类来对目标字符串进行匹配操作。 ### 2. 创建正则表达式 在Java中,创建正则表达式通常涉及以下步骤: - 使用`Pattern.compile()`方法编译正则...

    正则表达式 正则表达式

    在Java中,正则表达式是通过java.util.regex包提供的类和接口来实现的,主要包括Pattern、Matcher和MatchResult。以下是对这些关键概念的详细解释: 1. **Pattern**:Pattern类代表一个预编译的正则表达式。首先,...

    java正则表达式从入门到精通

    - **`group()`**:获取匹配的子串,`group(int group)`可获取指定分组的子串。 - **`replaceAll()`/`replaceFirst()`**:全局替换或替换第一个匹配的子串。 4. **特殊字符转义** - 在Java字符串中,正则表达式的...

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/...

    JAVA正则表达式 Pattern和Matcher

    这个`Matcher`实例可以执行多种操作,如`matches()`(检查整个输入是否匹配正则表达式),`find()`(查找第一个匹配的部分),`group()`(获取匹配的子字符串)等。 在提供的示例中,`Pattern.split()`方法被用来...

Global site tag (gtag.js) - Google Analytics