59
задан 11 July 2012 в 10:54

1 ответ

Почему Вы только не используете функцию соединения? В regex findall () или группа () Вам будет нужна строка так:

import re
regex = re.compile('th.s')
l = ['this', 'is', 'just', 'a', 'test']
matches = re.findall(regex, ' '.join(l)) #Syntax option 1
matches = regex.findall(' '.join(l)) #Syntax option 2

соединение () функция позволяет Вам преобразовывать список в строку. Одинарная кавычка перед соединением - то, что Вы поместите посреди каждой строки в список. При выполнении этой части кода (' '.join (l)) Вы получите это:

'это - просто тест'

, Таким образом, можно использовать findal () функция.

я знаю, что я - 7 лет поздно, но я недавно создаю учетную запись, потому что я учусь, и у других людей мог быть тот же вопрос. Я надеюсь эта справка Вы и другие.

<час>

Обновление После @FГ©lixBrunet комментарии:

import re
regex = re.compile(r'th.s')
l = ['this', 'is', 'just', 'a', 'test','th','s', 'this is']

matches2=[] #declare a list
for i in range(len(l)): #loop with the iterations = list l lenght. This avoid the first item commented by @Felix
if regex.findall(l[i]) != []: #if the position i is not an empty list do the next line. PS: remember regex.findall() command return a list.
    if l[i]== ''.join(regex.findall(l[i])): # If the string of i position of l list = command findall() i position so it'll allow the program do the next line - this avoid the second item commented by @Félix
        matches2.append(''.join(regex.findall(l[i]))) #adds in the list just the string in the matches2 list

print(matches2)
0
ответ дан 1 November 2019 в 11:11

Другие вопросы по тегам:

Похожие вопросы: