2017-12-19 4 views
-3

Ich habe eine Zeichenfolge, und ich möchte eine bestimmte Zeile aus der gesamten Zeichenfolge mithilfe von Regex extrahieren.Übereinstimmendes Muster mit Regex

Das ist mein string:

Physical interface: rt90, Enabled, Helical link is Up 
Interface index: 178, SPMZ ifIndex: 980 
Description: 4&109G LAG to kah7zt84 
Link-level type: Ethernet, XCU: 9082, Speed: 10Gbps, BPDU Error: Hello, 
Wind-REWRITE Error: None, Loopback: Disabled, Source filtering: abled, 
Flow : abled 
Pad to min frame size0: Disabled 
Minimum li needed: 1, Minimum bandwidth need: 0bps 
Device flags : Running 
Interface flags: RTYU-Traps Internal: 0x40 
Current address: 1e:pb:i0:90:10:76, Hardware address: 1e:pb:i0:90:10:768 
Last flapped : 2017-12-16 32:12:12 GMT (3d 16:16 ago) 
Input rate  : 115 bps (20 pps) 
Output rate : 8 bps (1 pps)` 

Ich möchte die folgende Zeile extrahieren:

Physical interface: rt90, Enabled, Helical link is Up 

(Die erste Zeile)

Kann jemand bitte helfen? Danke.

+0

Sie wollen nur die erste Zeile abzurufen? Probieren Sie /^.*$/ – nageeb

+0

'line = mystring.splitlines() [0]'. – ekhumoro

+0

Ja @nageeb. Ich möchte die erste Zeile extrahieren. – Adrija

Antwort

1

die erste Zeile zu finden, die mit `Physical Interface startet‘ können Sie verwenden:

lines = text.splitlines() 
for line in lines: 
    if line.startswith("Physical interface"): 
     print(line) 
     break 
else: 
    print('Not found') 
+0

@Adrija: Wenn Sie diese Antwort nützlich finden, vergessen Sie nicht, sie zu verbessern. –

+0

Ich habe es richtig @Casimir et Hippolyte markiert. – Adrija

+0

@Adrija: Ich habe über eine Verbesserung gesprochen, nicht darum, sie zu akzeptieren. Zum Beispiel wurde Ihre Frage dreimal abgelehnt, und die Antwort wurde einmal (von mir) aufgewertet. Ich denke du kannst es auch verbessern, da es dein Problem löst. –