Использовать преобразованную переменную внутри регулярного выражения python 2.6

#python #regex #string

#python #регулярное выражение #строка

Вопрос:

Я пробовал много разных способов, но безуспешно, я хочу использовать строковую переменную при запуске функции re.search. Но если я использую строку, которая преобразуется из элемента списка, это не удается, если я определяю переменную str, я могу это сделать, когда проверяю тип переменных, оба из которых являются str.

 mylist=['upl1', 'upl2', 'upl3']
ara_ci=mylist[2]
ara_ci=str(ara_ci)
#if i define it like this , not success

ara_ci='upl3'
#if i define it like this , success


IFAL='list_upl3_other'

if re.search(r'%s' % ara_ci, IFAL):
    CLASS='TEST'
else:
    CLASS='DEFAULT'
  

Комментарии:

1. Это даже недопустимый Python.

Ответ №1:

ara_ci=str(ara_ci) является ли sytax для приведения чего-либо к типу str . Обратите внимание (..) вместо [..] .

something[i] это синтаксис для доступа к i -му индексу чего list -то ИЛИ, значению i ключа из чего dict -то.

Также не рекомендуется использовать ключевые слова python (основанные на ara_ci=list[3]). list является типом данных в Python

Комментарии:

1. В этом случае вам следует указать ошибку, которую вы получаете. Без этого трудно что-либо сказать

2. я отредактировал код, все еще работая над ним, но пока безуспешно. в чем разница между преобразованным str и str , это странно.

3. В вашем if вы хотите проверить, ara_ci является ли это частью IFAL или нет. Верно?

4. да, и когда я использую преобразованный переменный элемент списка, это не работает

5. @serkun: Проверьте свой код сейчас. Я думаю, исправив ошибки, о которых я упоминал. Вы действительно исправили свой код.