2016-08-20 2 views
0

Текст не имеет пробелов, поэтому я вообще не могу разделить и использовать индексирование в списке строк.Python regex получает подстроку после предшествующего соответствия подстроки

Узор Я ищу это:

check=

Это сопровождается номером и кодируются элементы строки запроса (апач файл_журнала) и на каждой строке файла дважды. Я хочу, чтобы результат, который дает мне только то, что следует check=

Например, строка в строке выглядит следующим образом:

11.249.222.103 - - [15/Aug/2016:13:17:56 -0600] "GET /next2/120005079807?check=37593467%2CCOB&check=37593378%2CUAP&box=match&submit=Next HTTP/1.1" 500 1633 "https://mvt.squaretwofinancial.com/newmed/?button=All&submit=Submit" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0" 

И мне нужно принести 37593467 и 37593378 в этом случае.

+1

're.findall (г '(<= проверить =) \ d + ', text) '? –

ответ

2

Проверьте этот код.

import re 

text = '''11.249.222.103 - - [15/Aug/2016:13:17:56 -0600] "GET /next2/120005079807?check=37593467%2CCOB&check=37593378%2CUAP&box=match&submit=Next HTTP/1.1" 500 1633 "https://mvt.squaretwofinancial.com/newmed/?button=All&submit=Submit" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"''' 


for match in re.findall("check=(\d+)",text): 
    print 'Found "%s"' % match 

Выход:

C:\Users\dinesh_pundkar\Desktop>python demo.py 
Found "37593467" 
Found "37593378" 

Пара URL-адресов для помощи:

+0

ОК, чтобы изменить, как я также выполнить поиск по тексту после ... i.e. как получить совпадение, чтобы отобразить число, основанное на том, было ли оно найдено '% 2CCOB' или'% 2CUAP'? – tadamhicks

+1

невредим, я понял. – tadamhicks

Смежные вопросы