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
方法提取捕获组中的内容,并将其打印出来。
正文到此结束