python利用正则计数法提取字符串中的数字(整数,小数,科学计数法)

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']

你可能感兴趣的:(python,正则表达式)