原创

java正则表达式截取字符串中间部分

1、代码示例

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexDemo {
    public static void main(String[] args) {
        String input = "Hello [World]!";
        String patternString = "\\[(.*?)\\]";

        Pattern pattern = Pattern.compile(patternString);
        Matcher matcher = pattern.matcher(input);

        while (matcher.find()) {
            String match = matcher.group(1);
            System.out.println(match);
        }
    }
}

在这个示例中,我们定义了一个字符串 input,其中包含一个方括号括起来的中间内容。我们使用正则表达式 \\[(.*?)\\] 来匹配方括号中的内容。这个正则表达式包含以下部分:

  • \\[\\]:方括号是正则表达式的特殊字符,我们需要使用双反斜杠来转义它们。
  • .*?:这是一个非贪婪的匹配,用于匹配方括号之间的任意字符。非贪婪匹配会尽可能少地匹配字符,以避免匹配到多个方括号的情况。

然后,我们使用 Pattern 类的 compile 方法将正则表达式编译为模式,并使用 Matcher 类的 matcher 方法生成一个匹配器对象。之后,我们使用 find 方法在输入字符串中寻找与正则表达式匹配的内容。每次找到一个匹配项后,我们使用 group 方法提取捕获组中的内容,并将其打印出来。

正文到此结束
本文目录