Найти - Пользователи
Полная версия: регулярка, что в ней не так ((
Начало » Python для новичков » регулярка, что в ней не так ((
1
qwertun
Помогите пожалуйста вкурить, что я делаю не так ?

пытаюись разбирать на питоне 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'

проверяю онлайн тестерам, показывает что все ок, матч проходит (
alex925
Просто метод 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())
qwertun
спасибо огромное!!!
вот жеж балин как у вас все хитро в питоне )
неожиданная подстава (((( и точно в доке про это написано, правда не написано что значит начало строки ((
alex925
qwertun
Ну блин, начала строки, это начало строки

Кстати, заметь я изменил название твоей переменной. Имя str это имя стандартной функции, его переопределять нельзя!
py.user.next
Там ещё надо сделать
m.group(1)
qwertun
еще раз спасибо большое за развернутую помощь
str это для теста только, в полноценном классе разбора лога все нормально названо )
alex925
qwertun
Не хочу быть занудой, но лучше себя приучать всегда делать правильно .
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB