2016-03-31 16 views
0

arasında özel dize ayıklamak. Zaten this topic'u gördüm, ancak içeriğimde, belirtecimi ayıklamıyorum. Benim sorunu çözebilirsiniz nasılJava düzenli ifade şu anda dize biçiminde içerikli bir Token ayıklamak istiyorum iki dize

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

: Bu kodu var? peşin

sayesinde

+0

Java kaçan olmadan yani ilk birkaç online aracında regex deneyin. Örnek olarak: BinarySecurityToken'in eşleşmesinin ardından ne olacağını düşünüyorsunuz? – Thomas

+0

Cevabınız için teşekkürler, ama hiçbir şey alamıyorum. –

+0

Bir şey için Regex'inizin bir parçası, \ s: \ s dizinizde görünmeyen [boşluk]: [boşluk] ile eşleşiyor. Yani her şey doğru olsa bile (ki bundan şüphe duyarım), yine de uyuşmuyor. Thomas'ın dediği gibi, Google "Regex Tester" ve Java'yı doldurmaktan kurtulamadan önce kalıp çalışması yap. – Duston

cevap

1

bu regex olarak deneyin:

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