Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Рег. выражения


Автор: zluka 14.4.2008, 16:24
Код

import re

string = "vsego:1554877 (1.5 Kg) (575dol.)"
kg_match = re.search("vsego:(\w+\s)(\(.+\))", string)
kg_rezult = kg_match.group(2)

print kg_rezult

Нужно выделить 2 группу, то есть вывести только: (1.5 Kg). 
Но выводит: (1.5 Kg) (575dol.)
Похоже, что я неправильно записал. Помогите написать корректное рег. выражение.
Спасибо.

Автор: Rififi 14.4.2008, 17:11
zluka
потому что жадный регэксп

лучше так (более строгая проверка, ищется только нужное)
"\((\d*(\.\d*)?)\sKg\)"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)