2011-01-02 3 views
1

hav I Got HTTP Request WieSpliting '12213123_mul_32432532' in Python Regex

GET /1213123_mul_32424324.html HTTP/1.1 
User-Agent: ..... 
etc...etc... 

Ich brauche die Multiplikation von ganzen Zahlen 1.213.123 und 32.424.324 zu schicken ... So habe ich eine Python ccript dafür geschaffen. Ich habe die Methode req.find() verwendet, um eine ganze Zahl zu holen. aber es sollte einen besseren Weg geben, wie mit Regex.

Was ist der beste Weg, Integer aus dieser Anfrage abzurufen?

+0

Sie haben einen Webservice für die Multiplikation von Zahlen? Wozu? – Tomalak

Antwort

4

Dies ist ein Fall, in dem ein regulärer Ausdruck anwendbar ist:

>>> re.search(r'^GET /(\d+)_mul_(\d+)\.html', 'GET /1213123_mul_32424324.html HTTP/1.1').groups() 
('1213123', '32424324') 

die Werte Guss int() verwenden, multiplizieren Sie sie und tun, was Sie mit dem Ergebnis wollen.

Zum Vergleich, so können Sie es mit .split() tun. Ich rate nicht, diese Methode zu verwenden, außer Sie können sicher sein, dass die Anfrage eine . nach der zweiten Nummer haben wird.

>>> n = 'GET /1213123_mul_32424324.html HTTP/1.1'.split()[1][1:].split('_mul_') 
>>> n[1] = n[1][:n[1].index('.')] 
>>> n 
['1213123', '32424324']