Java 正则表达式 : Just get a part of the matcher group

标签 java regex

我在 Java 中有一个正则表达式:

Pattern pattern = Pattern.compile(<string>text</string><string>.+</string>);
Matcher matcher = pattern.matcher(ganzeDatei);
while (matcher.find()) {
    String string = matcher.group();
    ...

这工作正常,但输出类似于

<string>text</string><string>Name</string>

但我只想要这个:Name

我该怎么做?

最佳答案

通过将其括在括号中来捕获要返回的文本,因此在此示例中,您的正则表达式应变为

<string>text</string><string>(.+)</string>

然后您可以访问括号之间匹配的文本

matcher.group(1)

无参数 group您正在调用的方法返回与您的模式匹配的输入文本的整个部分,而您只需要它的一个子序列,它与捕获组(括号)匹配。

关于Java 正则表达式 : Just get a part of the matcher group,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4142856/

相关文章:

java - 在 Activity 之间传递自定义对象?

Java Web 应用程序 Hello World

java - 通过 IntelliJ Idea 在 Tomcat 中部署外部 war

java - 测量远程脚本测试的代码覆盖率

javascript - 正则表达式 - 以特定字符串开头但不以另一个子字符串结尾

javascript - 区分 JavaScript 中的正则表达式解析异常

javascript - 如何在不影响标记的情况下替换 html 文档中的文本?

java - 使用 jUnit 4.12 和 Hamcrest 1.3,我如何断言函数返回两个整数之一?

制表符后的 Python 正则表达式匹配整数

C - 如何使用 grep 查找所有内部循环?