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>"
目前我想提取一个内容为字符串格式的令牌。 我已经看到 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>"