Java 正则表达式提取两个字符串之间的特殊字符串

Java regular expression extract special string between two string

目前我想提取一个内容为字符串格式的令牌。 我已经看到 this topic,但在我的上下文中,我无法提取我的令牌。 我有这个代码:

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

public class SOAPParsing {
    public static void main(String[] args) {
        String test = "<BinarySecurityToken Id=\"TotoToken\">Kqdsqd/Jxugtqsk6Ws3q3sd54sq6d4q6sd4qs6d4qs6dq6sd98d69qdq9dsq7d98q7sdqdq7qsddq7Mw2RMmhevkJt/4q6sd7qsIRveuTTqdqsa/zxqsdqdqNg==</BinarySecurityToken>";
        Pattern pattern = Pattern.compile("BinarySecurityToken\\Id=\"TotoToken\">\s:\s(.+?)\</BinarySecurityToken>");
        Matcher matcher = pattern.matcher(test);
        if (matcher.find()) {
            System.out.println(matcher.group(1));
        } else {
            System.out.println("nothing ..");
        }
    }
}

我该如何解决我的问题?

提前致谢,

试试这个作为你的正则表达式:

"<BinarySecurityToken Id=.*>(.*)</BinarySecurityToken>"