Форум сайта python.su
0
Помогите пожалуйста вкурить, что я делаю не так ?
пытаюись разбирать на питоне 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'
Офлайн
14
Просто метод 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())
Офлайн
0
спасибо огромное!!!
вот жеж балин как у вас все хитро в питоне )
неожиданная подстава (((( и точно в доке про это написано, правда не написано что значит начало строки ((
Офлайн
14
qwertun
Ну блин, начала строки, это начало строки 
Кстати, заметь я изменил название твоей переменной. Имя str это имя стандартной функции, его переопределять нельзя!
Офлайн
857
Там ещё надо сделать
m.group(1)
Офлайн
0
еще раз спасибо большое за развернутую помощь
str это для теста только, в полноценном классе разбора лога все нормально названо )
Офлайн
14
qwertun
Не хочу быть занудой, но лучше себя приучать всегда делать правильно
.
Офлайн