2016-09-04 2 views
0

Ich habe die folgende ZeichenfolgeSpiel Zahl zwischen '<<' (regex)

Alle Dateien | 100 < < 222 >>

und möchte die Zahl zwischen << >>

übereinstimmen Wie kann ich das tun?

Bisher habe ich versucht, diesen Ausdruck (?<<)(.*?)(?>>)

+0

können Sie versuchen, (? <= <<)(.\d+)(?=>>) die für mich gearbeitet. –

Antwort

3

Das Problem ist, dass < ein Sonderzeichen ist, die entkommen werden muss. Auch die ? in der ersten und dritten Gruppe sind ungültig:

(\<\<)(?P<number>\d*?)(\>\>) 

Außerdem habe ich die Gruppe mit der Nummer benannt und verwendet \d Ziffern statt * anzupassen. Ich habe es getestet here.

+0

Danke das funktioniert – lasante23

+0

Sie sind auf die genaue Lösung +1. –

1

die Sie interessieren,

In [1]: match = re.compile(r'<<(\d+)>>') 
In [2]: match.findall('100 <<222>>') 
Out[2]: ['222'] 

Regex Modell

<<(\d+)>> 

Regular expression visualization

Demo

Verwandte Themen