2017-10-28 5 views
0

in benannte einfangende Gruppe String I in benannte Gruppen eine Reihe von Prozentsätzen erfassen möchten, die gelegentlich eine fehlerhafte haben ‚-‘ nach einem KommaCapture-String vor und Zeichenfolge nach

group1 2.3%/group2 4.-787%/group3 7.-65% 

Ich kann die Erfassung Zahlen sind in Ordnung (siehe HERE), aber ich möchte in der Lage sein, die '-' Zeichen loszuwerden, wenn ich die Gruppe gefangen nehme. . Zum Beispiel würde die obige Zeichenfolge führen in

Group 'group 1': 2.3 
Group 'group 2': 4.787 
Group 'group 3': 7.65 
+1

Sie können es nicht eine einzige Capture-Gruppe verwendet wird. Sie können die beiden Teile vor und hinter dem Strich jedoch in separaten Gruppen erfassen. Warum sollten Sie solche Bindestriche nicht durch nichts ersetzen, bevor Sie die Zieleingabe erfassen? – Bohemian

+0

Wie @Bohemian erwähnt, verwenden Sie eine Regex wie [** '(? <= \.) - (? = \ D)' **] (https://regex101.com/r/LdO3z8/1/) und werde sie ganz los. – Jan

Antwort

2

wie Bohemian Staaten, können Sie die beiden Teile vor und nach dem Schuss mit einem regex wie erfassen:

(\d+\.)-?(\d+)% 

Als nächstes können Sie Gruppen verketten 1 und 2 zusammen, um dein Ergebnis zu erhalten.

Blick auf Example 1

Verwandte Themen