Уведомления

Группа в Telegram: @pythonsu

#1 Май 19, 2015 22:59:20

qwertun
Зарегистрирован: 2015-05-19
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

регулярка, что в ней не так ((

Помогите пожалуйста вкурить, что я делаю не так ?

пытаюись разбирать на питоне gc логи от жабы

Python 2.7.3 (default, Mar 13 2014, 11:03:55) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> str = "2015-05-19T10:34:23.710+0300: 4.317: [GC2015-05-19T10:34:23.710+0300: 4.318: [ParNew: 419456K->13558K(471872K), 0.0193310 secs] 419456K->13558K(5190464K), 0.0195370 secs] [Times: user=0.16 sys=0.01]"
>>> m = re.match(r'GC(\d+)', str)
>>> m.group()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'

проверяю онлайн тестерам, показывает что все ок, матч проходит (

Офлайн

#2 Май 19, 2015 23:15:30

alex925
Зарегистрирован: 2015-01-08
Сообщения: 204
Репутация: +  14  -
Профиль   Отправить e-mail  

регулярка, что в ней не так ((

Просто метод match ищет совпадения только в начале строки

import re
data = "2015-05-19T10:34:23.710+0300: 4.317: [GC2015-05-19T10:34:23.710+0300: 4.318: [ParNew: 419456K->13558K(471872K), 0.0193310 secs] 419456K->13558K(5190464K), 0.0195370 secs] [Times: user=0.16 sys=0.01]"
m = re.search(r'GC(\d+)', data)
print(m.group())

Офлайн

#3 Май 19, 2015 23:23:09

qwertun
Зарегистрирован: 2015-05-19
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

регулярка, что в ней не так ((

спасибо огромное!!!
вот жеж балин как у вас все хитро в питоне )
неожиданная подстава (((( и точно в доке про это написано, правда не написано что значит начало строки ((

Офлайн

#4 Май 19, 2015 23:31:58

alex925
Зарегистрирован: 2015-01-08
Сообщения: 204
Репутация: +  14  -
Профиль   Отправить e-mail  

регулярка, что в ней не так ((

qwertun
Ну блин, начала строки, это начало строки

Кстати, заметь я изменил название твоей переменной. Имя str это имя стандартной функции, его переопределять нельзя!

Офлайн

#5 Май 20, 2015 00:40:39

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

регулярка, что в ней не так ((

Там ещё надо сделать

m.group(1)



Офлайн

#6 Май 20, 2015 17:24:49

qwertun
Зарегистрирован: 2015-05-19
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

регулярка, что в ней не так ((

еще раз спасибо большое за развернутую помощь
str это для теста только, в полноценном классе разбора лога все нормально названо )

Офлайн

#7 Май 21, 2015 00:43:28

alex925
Зарегистрирован: 2015-01-08
Сообщения: 204
Репутация: +  14  -
Профиль   Отправить e-mail  

регулярка, что в ней не так ((

qwertun
Не хочу быть занудой, но лучше себя приучать всегда делать правильно .

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version