Search code examples
javamatcher

Java regular expression extract special string between two string


currently I wish to extract a Token that is content in string format. I've already seen this topic, but in my context, I don't manage to extract my token. I've got this code:

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 ..");
        }
    }
}

How I can fix my problem ?

Thanks in advance,


Solution

  • Try this as your regex:

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