私は次の正規表現を持っています:
valueRegex = re.compile('^(?P<DevID>.{2})(?P<CMD>TMPA|BATT)(?P<Value>-?[\d\.]+)-*$', re.I)
ここで、指定された文字列の正確な長さが11文字であるかどうかをさらに確認します。通常は問題ありませんが、この場合の実装方法がわかりません。いくつかの試みはうまくいきませんでした、そして私は考えがありません。:/
おそらく、私は非常に簡単な解決策を見るのが盲目です:)
文字列をチェックする必要がある関数は次のとおりです。
def parseMessages(llapMsg):
rawMsgs = llapMsg.split('a')
result = []
data = [valueRegex.match(val) for val in rawMsgs]
for val in data:
if val is not None:
result.append(val.groupdict())
return result