在Java中拆分括号内的加密文本

6

我有一段加密的文本,用括号包裹,我想只获取文本 [|kXS6k~R5I~Q5gHR&f3gzJ[X]-->|kXS6k~R5I~Q5gHR&f3gzJ[X
发现这个模式[\[\](){}] 可以达到效果,但是它会把文本分割成第一个括号或者如果有圆括号,则会将文本分割成它们。 谢谢

1个回答

3
你可以尝试这个正则表达式:"\[(.*?)\]"。不要忘记在字符串中转义反斜杠,否则会出现错误。 字符串 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));
    }
}

请澄清一下,这个输入中的 [] 括号在哪里:AA{R7QHQ8onQ~QXR7UXQzM\e{J6Y - Mustofa Rizwan
你需要在Java中转义反斜杠,否则字符串将无效,所以\e变成\e,然后应用我的更新的正则表达式... - Mustofa Rizwan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接