У меня есть список строк, который выглядит следующим образом:
strlist = [
'list/category/22',
'list/category/22561',
'list/category/3361b',
'list/category/22?=1512',
'list/category/216?=591jf1!',
'list/other/1671',
'list/1y9jj9/1yj32y',
'list/category/91121/91251',
'list/category/0027',
]
Я хочу использовать регулярное выражение для поиска строк в этом списке, которые содержат следующую строку /list/category/
, за которой следует целое число любого длина, но это все, после этого он не может содержать никаких букв или символов.
Итак, в моем примере результат должен выглядеть так
list/category/22
list/category/22561
list/category/0027
Я использовал следующий код:
newlist = []
for i in strlist:
if re.match('list/category/[0-9]+[0-9]',i):
newlist.append(i)
print(i)
, но это мой результат:
list/category/22
list/category/22561
list/category/3361b
list/category/22?=1512
list/category/216?=591jf1!
list/category/91121/91251
list/category/0027
Как мне исправить мое регулярное выражение? А также есть способ сделать это в одной строке, используя команду filter или match вместо for l oop?