#提取字符串中的小数或者整数
#提取字符串中符合匹配的第一项
#使用re模块中的search和findall方法
import re
# 正则表达式含义:
# [\d]+.[\d]+ 表示匹配浮点数
# [\d]+ 表示多次匹配数字
# [\d]+.[\d]+|[\d]+ 表示匹配浮点数或整数,匹配小数时小数点前没有空格
pattern_data = re.compile(r'[\d]+.[\d]+|[\d]+')
dataStr = '123 1.56 5 365 25.62' # 测试用单个空格分隔时匹配会有问题,这里使用3个空格分隔数据
#findall方法调用,两种调用方式
findAllStr = re.findall(pattern_data, dataStr)
findAllStr_1 = pattern_data.findall(dataStr)
print(findAllStr) # 结果 ['123','1.56','5','365','25.62']
print(findAllStr_1) # 结果 ['123','1.56','5','365','25.62']
#search方法调用,两种调用方式
searchStr = re.search(pattern_data, dataStr).group()
searchStr_1 = pattern_data.search(dataStr).group()
print(searchStr) # 结果 123
print(searchStr_1) # 结果 123
【python】通过正则提取字符串中数据
最新推荐文章于 2024-07-10 10:05:35 发布
文章介绍了如何在Python中使用正则表达式`[d]+.[d]+|[d]+`来匹配浮点数和整数,通过`re.findall`和`re.search`方法处理字符串1231.56536525.62,并展示了两种方法的用法。
3430

被折叠的 条评论
为什么被折叠?



