Форум сайта python.su
Имею строки которые нужно парсить. мне надо извлекать из строки все что начинается символом < и заканчивается либо символом ; либо > что раньше встретит. Пожалуйста помогите, с обьяснением. Сколько не читал про рег експы, понимания 0. могу проходится по каждой строке и как встречу символ < начинать собирать новую строку, пока не встречу ; либо > Но очень много ресурсозатрат. Пожалуйста помогите!!!
Офлайн
Tapo4e4ekТы парсишь HTML/XML?
Имею строки которые нужно парсить. мне надо извлекать из строки все что начинается символом < и заканчивается либо символом ; либо > что раньше встретит. Пожалуйста помогите, с обьяснением. Сколько не читал про рег експы, понимания 0. могу проходится по каждой строке и как встречу символ < начинать собирать новую строку, пока не встречу ; либо > Но очень много ресурсозатрат. Пожалуйста помогите!!!
Офлайн
Нет, не хтмл. Пишу парсинг конфигурационного файла. С помощью ConfigParser получаю в массив все строки которые мне нужны, теперь мне надо обрабатывать эти строки. Если пробегаться по ним - получу квадратичный рост (чего совсем не хотелось бы). Тут меня спасут только регЕкспы. Но я сколько не пытался их понять, не для моего мозга!
Пример моей строки - ‘to=“200” <sip:200@127.0.0.1:5062;line=8d1cc170abf10f3>’
Мне отсюда желательно получить 200@127.0.0.1 - все!
Офлайн
Примерно так:
import re res = re.search( r"<.*?:([^:;>]*)", 'to="200" <sip:200@127.0.0.1:5062;line=8d1cc170abf10f3>' ) print res.group(1)
< - ищем строку
.?*: - съедаем символы до ':'
в скобках - то что мы ищем
[^:;>]* - все символы, кроме : ; >
Отредактировано agalen (Апрель 12, 2012 15:57:57)
Офлайн
agalen
Огромное приогромное спс!
+1
Офлайн