2016-12-12 1 views
0

Beispiel: Ich möchte den Fehlerblock mit Zeilen abgleichen, die mit der Verarbeitung beginnen und mit Fehlerspeicherdaten enden. Das Problem, auf das ich stoße, ist entweder mit gierigem oder trägem Match, Regex stimmt auch mit vorherigen Werten überein!Wie wird eine Zeichenfolge mit variablen Zeilen wie im Protokoll mit einem bestimmten Kriterium verglichen?

 
Processing employee 123 1504 of 2056 
2016-12-09-15.14.57.000000 : Employee 123 created. 

Processing employee 234 1505 of 2056 
2016-12-09-15.14.57.000000 : Employee 234 created. 

Processing employee 345 1506 of 2056 
Valid ZIP codes range between 01000 and 99999. 
Error saving data. 

Processing employee 445 1507 of 2056 
2016-12-09-15.14.58.000000 : Employee 445 created. 

Processing employee 775 1509 of 2056 
warning 123 
warning 123 
error 123 
Error saving data. 

Antwort

0

ein globales Spiel verwenden, die auf „Verarbeitung Mitarbeiter“ beginnt und endet mit „Error Daten zu speichern“, aber stellen Sie sicher, dass keine zwei Zeilenvorschübe in dem angepassten String gibt es:

(Processing employee)(\n[^\n]|[^\n])*\n(Error saving data\.) 

Sie sehen können bei der Regex um https://regex101.com/r/aCJ2Wv/1

+0

Vielen Dank. Sinn ergeben. Ich hätte nie gedacht, es als zwei Zeilenumbrüche zu lösen. Ich habe versucht, Lookaround-Assertionen zu verwenden. – Ram

Verwandte Themen