2017-01-26 4 views
0

Ich fand schnell einen Weg, um einen funktionierenden mehrzeiligen regulären Ausdruck für meine Bedürfnisse zu bekommen, aber Schwierigkeiten mit seiner Umwandlung in eine einzelne Zeile.Regulärer Ausdruck, um erste n Ziffern von kommagetrennten Zeichenketten zu erfassen

ja, sollten diese Eingabe mit regex /^[2-9]\d{1}(?:\s){0}/gm angewendet:

26-54D429-001,

49-A42102-002,

51-Z48910 -003 ...

Allerdings, wenn ich es auf eine Zeile drehen, werde ich bekommen nur g ersten beiden Ziffern in ouput:

26-54D429-001, 5149-A42102-002, 9251-Z48910-003 ...

Wie diese regexp geschrieben werden kann, diese Aufnahme zu bekommen:

26-54D429-001, 49-A42102-002, 51-Z48910-003 ...? Dadurch werden die ersten beiden Ziffern jeweils in Gruppen erfassen

Antwort

1

Diese Arbeiten sollten.

REGEXP

\b\d{2}(?=\d{2}) 

INPUT

4126-54D429-001, 5149-A42102-002, 9251-Z48910-003, 7851-Z48910-003 

OUTPUT

41 
51 
92 
78 

Das Komma ist nicht wesentlich

Wenn ich u helfen, markieren Sie mich als richtig und stimmen

+0

Danke, die Ausgabe ist korrekt. –

0

:

(\d{2})[^,]*

+0

Nizza Antwort, aber es nur Zahlen übereinstimmen, wenn Komma vorhanden ist. –

+0

Ja, aber ist nicht jeder Eintrag durch ein Komma getrennt? Bitte sehen Sie die Demo hier: https://regex101.com/r/3zuMg8/1 – AlexG

+0

Sorry, aber regexr.com gibt mir diese Ausgabe: ** 4126-54D429-001 **, ** 5149-A42102-002 ** , ** 9251-Z48910-003 ** –

Verwandte Themen