2017-02-15 2 views
-3

У меня есть список строкнайти элементы строки, которая заканчивается конкретным значением

['time_10', 'time_23', 'time_345', 'date_10', 'date_23', 'date_345'] 

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

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

Я был бы признателен, если бы вы могли предоставить

regex(some_pattern, some_string) 

что бы вернуть

['time_10', 'date_10'] 

или просто

'time_10, date_10' 
+5

Что случилось с 'EndsWith (..)'? '[x для x в данных, если x.endswith (str (query))] ... ... –

+0

ничего плохого, но я хотел знать, можно ли использовать регулярное выражение. Спасибо вам все равно – Demaunt

+0

@Demaunt, да, возможно – RomanPerekhrest

ответ

2

str.endswith достаточно.

l = ['time_10', 'time_23', 'time_345', 'date_10', 'date_23', 'date_345'] 

result = [s for s in l if s.endswith('10')] 

print(result) 
['time_10', 'date_10'] 

Если вы настаиваете на использовании регулярных выражений,

import re 
result = [s for s in l if re.search('10$', s)] 
Смежные вопросы