import re
# 含有数字的字符串(可以看到有小数和整数)
string = "#$1.23,zimu3,520.1314, 300, 1.01e-02, 8.0013, -3E-3"
# 获取所有数字
print(re.findall(r"\d+", string))
# 获取所有数值(包含小数一起识别匹配,匹配科学计数法会有问题)
print(re.findall(r"\d+\.?\d*", string))
# 获取所有数值(包含科学计数法一起识别匹配)
print(re.findall(r"[-+]?\d+\.?\d*[eE]?[-+]?\d*", string))
输出结果:
['1', '23', '3', '520', '1314', '300', '1', '01', '02', '8', '0013', '3', '3']
['1.23', '3', '520.1314', '300', '1.01', '02', '8.0013', '3', '3']
['1.23', '3', '520.1314', '300', '1.01e-02', '8.0013', '-3E-3']