2012-03-25 3 views
-2

Ich schrieb die folgenden regex in perl und jetzt möchte ich es in python schreiben.Perl - regex Wie schreibt man das in Python?

if ($textline =~ /^([A-Z0-9]+:)(.*)/) 
+0

Ich habe Ihre Frage bearbeitet, um Code-Tags hinzuzufügen. – Birei

+1

Dies ist die Definition von zu lokalisiert. Da es keine Beschreibung dessen gibt, was diese Regex zu tun versucht, gibt es keine Möglichkeit, dass eine andere Person, die versucht, dasselbe zu tun, diese Frage finden könnte. – agf

+0

Das bedeutet: wenn die Variable $ textline mit dem Anfang des UPPER-Case-Worts übereinstimmt (ein oder mehrere Zeichen) +: + alles mit einigen (Captures) –

Antwort

1
>>> import re 
>>> textline = "AZERTY:qwerty" 
>>> if re.search('^([A-Z0-9]+:)(.*)', textline): 
...  print("match !") 

http://docs.python.org/library/re.html

Wenn Sie Probleme mit dem interaktiven Python-Interpreter haben, copy/paste diese in Ihrem Terminal:

cd /tmp 
wget http://sputnick-area.net/ftp/downloads/re.py 
chmod +x re.py 
./re.py 

bearbeiten: Dies ist ein Beispiel, das sollte passen Sie Ihre Bedürfnisse an:

#!/usr/bin/python2 
# -*- coding: utf8 -*- 

# $ cat /tmp/dmesg 
# AZERTY:qwerty01 
# AZERTY:qwerty02 
# zzzzzzzzzzzzzzz 
# AZERTY:qwerty03 

import re 

f = open("/tmp/dmesg", "r") 
for textline in f.readlines(): 
    if re.search('^([A-Z0-9]+:)(.*)', textline): 
     print "match "+textline.rstrip('\n') 

f.close() 
+1

So sieht 'sys.ps2' nicht aus: P –

+0

Sie haben gute Augen, ich bearbeite meine POST Ignacio Vazquez-Abrams =) –

+0

, die mir keine Rückkehr gibt. Es entspricht 0 Zeile – NewLearner