我有加密文本用括号括起来,我试图只获取文本[|kXS6k~R5I~Q5gHR&f3gzJ[X]
- > |kXS6k~R5I~Q5gHR&f3gzJ[X
找到这个模式[\[\](){}]
,它可以工作但分裂到第一个括号或如果有括号将分割文本直到它们.谢谢
你可以试试这个:“\[(.*?)\]”。并且不要忘记在字符串中转义反斜杠,否则会给你错误
字符串 string = "[AA{R7QHQ8onQ~QXR7UXQzM\e{J6Y]";
String regex = "\\[(.*?)\\]";
String string = "[AA{R7QHQ8onQ~QXR7UXQzM\\e{J6Y]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
Run Code Online (Sandbox Code Playgroud)