2016-08-02 20 views
0

Ich versuche, den Wert zwischen den Kommas mit Regex-Ausdruck in Maultier zu extrahieren, aber es gibt null zurück. Während diese Regex hier, wenn ich funktioniert versuchen https://regex101.com/Regex-Extrakt in Mule

Mule ist nicht die Regex so dass vor allem wird erwartet, dass es zu entkommen ‚‘

<logger message="Regex #[regex('(?&lt;=\,)(.*?)(?=\,)')]" level="INFO" doc:name="Logger"/> 

Die folgenden gibt null zurück, wenn ich versuchen zu fliehen " ,‘wie '\'

<logger message="Regex #[regex('(?&lt;=\\,)(.*?)(?=\\,)')]" level="INFO" doc:name="Logger"/> 

Sample data: 06-28-2016-15:14:57,AMsySZYGi51CLhhsUhJDq0Nndcav,5128617

Irgendwelche Gedanken? Oder gibt es eine andere Möglichkeit, ohne Regex zu extrahieren?

+0

Sie möchten dieses 'AMsySZYGi51CLhhsUhJDq0Nndcav' zum Beispiel extrahieren? –

+0

Ja, genau. Nur AMsySZYGi51CLhhsUhJDq0Nndcav – gnanagurus

+0

Ich nicht mit Mule familier, wenn Sie in der Lage, capure Gruppe als folgende Regex beziehen wird für Sie arbeiten: https://regex101.com/r/oG6yL3/2 –

Antwort

0
(?<=(,))(.*?)(?=(,)) 

Flucht hier ist nicht notwendig.

Oder eine andere Art und Weise:

\,\K(.*)(?=(,)) 
+0

Problem ist, in Maultier es diese Ausnahme werfen. Wenn ich Ihren zweiten Ausdruck zum Beispiel verwende: [Fehler: illegale Escape-Sequenz:,] [Near: {... regex ('\, \ K (. *) (? = (,))') .... }] ^ [Zeile: 1, Spalte: 9] – gnanagurus

+0

Wie ich dachte - Mule Regex erkennt \ K nicht, wie viele Motoren. –

0

Haben Sie versucht, MEL mit?

<logger message="#[payload.split(',')[1]]" level="INFO" doc:name="Logger"/>