Pattern patronValidity = Pattern.compile("Validity: \\[(.*?)\\]");
Matcher matcherValidity = patronValidity.matcher(strCert);
if(matcherValidity.find()){
System.out.println(matcherValidity.group(1));
}
我用它來掃描文件,但它沒有返回任何匹配。奇怪的是,下一個確實會返回一些信息,但是這是錯誤的,因爲左括號仍然保留在信息中。從數字證書中獲取java中兩個方括號之間的數據?
Pattern patronValidity = Pattern.compile("Validity: (\\[[^]]*)");
Matcher matcherValidity = patronValidity.matcher(strCert);
if(matcherValidity.find()){
System.out.println(matcherValidity.group(1));
}
這是我試圖匹配的值。
從這個去的文件中:
Validity: [From: Thu Aug 21 10:22:08 CDT 2008,
To: Sat Aug 21 10:22:08 CDT 2010]
此爲從第二函數的輸出:
[From: Thu Aug 21 10:22:08 CDT 2008,
To: Sat Aug 21 10:22:08 CDT 2010
第一個功能不匹配任何東西。
它標記爲「無效的轉義序列」 – overmann 2011-03-18 00:21:56
您只需要跳過斜槓 - 更新我的答案。 – 2011-03-18 00:24:07
謝謝bun bun。 :) – overmann 2011-03-18 00:39:59