我还在学习正则表达式,我遇到了一个问题......
我正在尝试分离一个由十进制格式的字母和数字混合组成的字符串:
AB0.500CD1.05EF2.29
变成这样:
list1 = AB,CD,EF
list2 = 0.500,1.05,2.29
所有这一切的复杂之处在于我也有看起来像这样的字符串:
AB1CD2EF3
我也想把它分成:
list1 = AB,CD,EF
列表2 = 1,2,3
先前的查询产生了以下片段,
import re
pattern = re.compile(r'([a-zA-Z]+)([0-9]+)')
for (letters, numbers) in re.findall(pattern,cmpnd):
print numbers
print letters
此示例适用于第二种字符串,但仅“找到”第一种字符串中包含小数位的数字中的前导数字。
我尝试了使用以下行的方法:
pattern = re.compile(r'([a-zA-Z]+)([0-9]+(\.[0-9]))')
但这会导致错误:“ValueError: too many values to unpack”
感谢您的任何帮助!