Mein regulärer Ausdruck nehmen ist wie folgt:Regex Rohr muss erstes Spiel
.*(kgrj4e|\*)[^:]*:([^;]*);?
Der ‚kgrj4e‘ Teil eine Benutzer-ID und ist dynamisch. Die PR .... Teile sind Drucker. Wenn die Benutzer-ID nicht gefunden wird, möchte ich den Standarddrucker (PR12346).
Für ersten Teststring unten Ich will Ergebnis PR12345 sein, aber ich PR12346
snljoe, snlaks, kgrj4e, snlbla: PR12345; *: PR12346
Hinweis: Die Benutzer snljoe, snlaks und snlbla sind nur Beispiele und können völlig anders sein. Tatsächlich kann die Liste der Benutzer länger oder kleiner sein.
Für zweiten String-Test unter I Ergebnis will PR12346
snljoe sein, snlaks, snlbla: PR12345; *: PR12346
Wie der regulären Ausdruck zu beheben, so dass beide Test Strings das erwartete Ergebnis geben?
Möchten Sie die Zeichenfolge 'PR12346' extrahieren? – rock321987
benötigen Sie zwei separate Regex für zwei verschiedene Fälle? – rock321987
Warum 'PR12345' im ersten Beispiel? 'kgrj4e' ist nicht richtig vor dem Wert, den Sie brauchen, gibt es eine' snlbla' –