我有一些像這樣的模式的一些字符串數據: 「0x4F爲0xBB 0x74 0xA9」我的模式在哪裏不正確(Java中的正則表達式)?
- 它有四個部分。
- 每個部分有三個或四個字符。
- 每個部分以0x開頭。
- 在我們有空間的部分。
- 性格只是:A B C d電子網
- 編號:0-9
**我想回到這個模式爲字符串!如何退貨? 假設採樣輸入的字符串,我明白了,是: 「vhmbjfbfbbdbd這是我的字符串0x4F爲0xBB 0x74 0xA9的一部分,休息afhahjbsdvbskb」 如何匹配後返回字符串:「0x4F爲0xBB 0x74 0xA9」
String MP = MatchedPart(str).toString();
private static StringBuilder MatchedPart(String s) {
List<String> sarr = Arrays.asList(s.split(" 0x[A-F0-9]{1,2} 0x[A-F0-9]{1,2} 0x[A-F0-9]{1,2} 0x[A-F0-9]{1,2}"));
StringBuilder machpart = new StringBuilder();
for(String t : sarr) {
machpart = machpart.append(t) ;
}
return machpart ;
}
我寫這個函數,得到了string
和檢查模式:
public static boolean test (String s) {
Pattern pattern = Pattern.compile(" 0x[ABCDEF0-9] 0x[ABCDEF0-9] 0x[ABCDEF0-9] 0x[ABCDEF0-9]");
Matcher matcher = pattern.matcher(s);
if (matcher.find()){
return true;
}
return false;
}
只有數字從1到9?有一個0是不可能的? –
檢查[this](http://ideone.com/t3iWhp),它可能有幫助。 –
@RubénJiménez,是的,正確的,我糾正了我的問題... – hossein