首页 > 解决方案 > 如何使用正则表达式从列表中单独获取数字?

问题描述

如何使用正则表达式从列表中单独获取数字?

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)   

预期结果:

    ['123','456']

标签: regexpython-3.xpandas

解决方案


您要附加jlist_1,但我认为您想将findall的结果附加到 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)

Python 演示

[0-9]+注意使用量词重复匹配数字 1 次以上 +

结果

['123', '456']

推荐阅读