0
我有一些代码从OBD-II适配器接收数据,并通过一些正则表达式运行它,以便我可以识别包含故障代码的部分。就是这个。解析在Android中使用的诊断故障码(DTC)数据
dataRecieved = readMessage;
RX.setText(dataRecieved);
if((dataRecieved != null) && dataRecieved.matches("\\s*[A-F0-9]{2} [A-F0-9]{2} [A-F0-9]{2} [A-F0-9]{2} [A-F0-9]{2} [A-F0-9]{2}\\s*\r?\n?")) {
if(D) Log.i(TAG, "REGEX ");
dataRecieved = dataRecieved.replace(">", "").trim();
DTC.setText(dataRecieved);
正则表达式我设置任何接收到一个TextView在Android中。但是,运行它时没有文本集。我不知道这是否是我使用的正则表达式。它应该检测像
>
01 00 14 53 00 00
包括或排除提示。
非常感谢,似乎现在正在工作。只是想知道,但第二个分组中使用了什么? – v3rse 2013-05-12 06:30:55
'(?:...)'是一个非捕获组。 **有很好的解释** [here](http://www.regular-expressions.info/brackets.html)**。 – 2013-05-12 06:59:34
谢谢。我也想知道它是否适用于多行代码。例如'01 00 14 53 00 00 03 01 90 88 70 10 03 00 00 00 00 00'在这种情况下,图案重复3次。 – v3rse 2013-05-16 12:57:20