我正在用Java編寫一個應用程序,該應用程序應該與外部設備進行通信。設備使用以下格式響應使用單個正則表達式驗證每一行
01 02 05 0A 2D 3E
01 02 12 2B 09 07
作爲迴應,我可能會得到至少一行,但通常有幾行。
我試圖驗證響應使用一個簡單的正則表達式
([0-9a-fA-F]{2} ?){6}\r
但如果至少有一行是正確的,則返回true,我需要驗證所有行。 我知道我可以將響應分成不同的行並在循環中驗證每個響應,但問題是 - 是否可以使用單個正則表達式驗證所有行?
更新(我用Java代碼):
Pattern pattern = Pattern.compile("([0-9a-fA-F]{2} ?){6}\r");
String string = "01 02 05 qA 2D 3E\r01 02 12 2B 09 07\r"; // qA - 4th number is invalid
Matcher matcher = pattern.matcher(string);
if (matcher.find()) {
System.out.println(matcher.group());
}
'就返回true如果至少一個線correct'我們可以看到代碼,您正在使用? – Pshemo
抱歉等待。我發佈了應該解釋您遇到問題的答案。 – Pshemo