Предположим, у вас есть эта строка (одна строка)
10.254.254.28 - - [06 / Aug / 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 "
и вы хотите извлечь часть между GET и HTTP (то есть, некоторый URL), но только если он содержит слово «головоломка».Как бы вы сделали это, используя регулярные выражения в Python?
Вот мое решение до сих пор.
match = re.search(r'GET (.*puzzle.*) HTTP', my_string)
Это работает, но у меня есть кое-что, что я долженизмените первый / второй / оба .*
на .*?
, чтобы они не были жадными.Это действительно имеет значение в этом случае?