Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 4, 2007 13:33:32

Casufi
От:
Зарегистрирован: 2006-11-19
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает регексп

Вот кусок скрипта

expresionvalue = re.compile("(^*\.jpg$|^*\.gif$)")
if expresionvalue.search(somestring):
При выполнении скрипта питон відает ошибку
    raise error, v # invalid expression
sre_constants.error: nothing to repeat
Подскажите пожалуйста, чем ему не нравится выражение ^*\.jpg$ или ^*\.gif$ , хотя строку
expresionvalue = re.compile("(\.jpg$|\.gif$)")
он прекрасно понимает



Офлайн

#2 Окт. 4, 2007 13:51:47

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

не работает регексп

^ обозначает самое-самое начало строки. вынеси его за скобки, должно помочь.



Офлайн

#3 Окт. 4, 2007 14:07:17

Casufi
От:
Зарегистрирован: 2006-11-19
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает регексп

bialix
^ обозначает самое-самое начало строки.
Это я знаю, но записи вида re.compile(“^*\.jpg$”) и re.compile(“^*\.jpg”) тоже не проходят и запись вида expresionvalue = re.compile(“^*(\.jpg$|\.gif$)”) вызывает туже ошибку.
Меня терзают смутные сомнения, что он патологически не воспринимает символ начала строки



Офлайн

#4 Окт. 4, 2007 14:29:10

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

не работает регексп

Casufi
Меня терзают смутные сомнения, что он патологически не воспринимает символ начала строки
патология в другом;)
зачем * после ^ ?



Офлайн

#5 Окт. 4, 2007 15:17:42

Casufi
От:
Зарегистрирован: 2006-11-19
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает регексп

Casufi
Меня терзают смутные сомнения, что он патологически не воспринимает символ начала строки
Сглупил, нужно было точку поставить перед звездочкой



Офлайн

#6 Окт. 4, 2007 15:57:15

Casufi
От:
Зарегистрирован: 2006-11-19
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

не работает регексп

Подскажите пожалуйста, как теперь к этому регекспу

re.compile("^.*((\.jpg$)|(\.gif$))")
добавить условие исключающее строки, которые содержат последовательность символов
_tn



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version