Supposons que vous ayez une cette chaîne (une ligne)expressions régulières - tester si une chaîne contient une autre chaîne
10.254.254.28 - - [06/Août/2007: 00: 12: 20 -0700] " GET /keyser/22300/HTTP/1.0 «302 528» - « » Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv: 1.8.1.4) Gecko/20070515 Firefox/2.0 .0.4 "
et vous voulez extraire la partie entre le GET et le HTTP (c'est-à-dire un peu d'URL) mais seulement si elle contient le mot" puzzle ". Comment feriez-vous cela en utilisant des expressions régulières en Python?
Voici ma solution jusqu'à présent.
match = re.search(r'GET (.*puzzle.*) HTTP', my_string)
Il fonctionne, mais j'ai quelque chose à l'esprit que je dois changer la première/seconde/les deux .*
-.*?
afin qu'ils soient non avides. Cela a-t-il vraiment de l'importance dans ce cas?
espère juste que votre admin serveur ne change pas le journal formatage :) –