2016-11-04 1 views
0

EDIT: Hallo ich diesem Protokollregulärer Ausdruck zu prüfen, endet mit einer Ziffer

String log1 = "Yellow A Yellow Flow Meter -4363.00 ---> -4194.00 pulse" ; 

ich dieses Muster verwendet, um analysieren will

String maxPattern11 = "([\\w.*-?\\d.$]+)([\\s]+['--->'|'-->']+[\\s]+)([-?][\\d.]+\\s[\\w]+)"; 

Für die Saite, die ich wie eine Reihe von Worten analysieren möge getrennt durch Leerzeichen und endet mit einer + ve oder einer -v-Ziffer.

Bitte antworten Sie mir, was ist falsch in dem Muster

+0

Was ist die Ausgabe, die Sie erwarten? –

Antwort

0

Statt einer schwierigen regulären Ausdruck, hier ist eine andere Idee:

String[] words = logLine.split("\\s+"); 
int n = words.length; 
if (n > 3 && words[n - 3].equals("--->")) { 
} 

Es kann mehr Code als den regulären Ausdruck, aber es ist viel einfacher, verstehen.