首页 > Java > java教程 > 正文

如何使用 Java 正则表达式从字符串中检索匹配项数组?

Linda Hamilton
发布: 2024-11-24 11:59:12
原创
108 人浏览过

How to Retrieve and Array of Matches from a String Using Java Regular Expressions?

在 Java 中使用正则表达式检索匹配

在 Java 中使用正则表达式从给定字符串获取匹配数组涉及创建匹配器和迭代匹配。

使用Matcher

使用 Pattern 类的编译方法创建一个 Matcher 对象:

Matcher m = Pattern.compile("regex_expression").matcher(input_string);
登录后复制

迭代匹配

使用 find Matcher 的迭代方法匹配:

List<String> allMatches = new ArrayList<>();
while (m.find()) {
  allMatches.add(m.group());
}
登录后复制

转换为数组

如果您需要匹配数组,请使用 toArray 方法:

String[] matchesArray = allMatches.toArray(new String[0]);
登录后复制

MatchResult 的增强方法 (Java >= 9)

在 Java 9 及更高版本中,您可以在 Matcher 上使用 toMatchResult 方法来创建 MatchResult 对象。这提供了创建惰性迭代器以有效循环匹配的方法:

for (MatchResult match : MatchResult.findAll(p, input)) {
  // Use match information without advancing iteration...
}
登录后复制

例如,此代码使用 allMatches 辅助方法来迭代匹配,打印它们的组和位置:

for (MatchResult match : allMatches(Pattern.compile("[abc]"), "abracadabra")) {
  System.out.println(match.group() + " at " + match.start());
}
登录后复制

以上是如何使用 Java 正则表达式从字符串中检索匹配项数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板