Как получить только числа из списка с помощью регулярного выражения?
import re
l=[["123abc","456"],["lmnop0987"]]
list_1=[]
for i,string in enumerate(l):
if i == 0 :
for j in string:
if re.findall(r"[0-9]", j):
list_1.append(j)
print(list_1)
Expected Result:
['123','456']
Вы добавляете j
к list_1
, но я думаю, вы хотите добавить результат найти все к list_1:
l=[["123abc","456"],["lmnop0987"]]
list_1=[]
for i,string in enumerate(l):
if i == 0 :
for j in string:
list_1.append(re.findall(r'[0-9]+', j)[0])
print(list_1)
Обратите внимание, чтобы повторить сопоставление цифр 1+ раз [0-9]+
с использованием квантификатор+
Результат
['123', '456']