Ich versuche, eine Regex zu schreiben, um ein Ereignis aus einer Protokolldatei plus die Zeit, die es passierte, zu extrahieren. Leider ist die Protokolldatei nicht sehr strukturiert, da die Logger der dritten Partei Zeitstempel asynchron zu meinem geloggten Text einfügt. Ich kann von ID:00000015fd6c
Regulärer Ausdruck, um ein Muster und das erste Vorkommen eines anderen Textmusters vor ihm zu finden
Ein Beispiel das Ereignis identifizieren ist:
[2017/4/16 2:28:29AM] (I) Radio mode changed to
SYSAXRADIO_E_STATE_PAGER_RX_SYNC on 170.9 MHz
[2017/4/16 2:28:37AM] Tock = 1718
(I) IDTAG TAG : -90dBm : ID:00000015fd6c
(I) ***************
(I) ID TAG DETECTED 00000015FD6C
(I) ***************
Derzeit ist die regex ich habe, ist: (?<=2017)[\s\S]*?ID:00000015fd6c
Ich möchte:
[2017/4/16 2:28:37AM] Tock = 1718
(I) IDTAG TAG : -90dBm : ID:00000015fd6c
aber ich bekomme:
[2017/4/16 2:28:29AM] (I) Radio mode changed to
SYSAXRADIO_E_STATE_PAGER_RX_SYNC on 170.9 MHz
[2017/4/16 2:28:37AM] Tock = 1718
(I) IDTAG TAG : -90dBm : ID:00000015fd6c
Der Text, den ich möchte, ist die alles inklusive "ID: 00000015fd6c" rückwärts bis zum ersten Zeitstempel vor dem passenden Text.
Hilfe bitte?
Ist 'ID' festgelegt? – Rahul