在python中,我试图从一行中获取数据。
线条看起来像:
1. cpasite=5 nsubl=4 cpatypes=3,4,5,6
2. cpasite=6 nsubl=2 cpatypes=7,8
3. cpasite=7 nsubl=4 cpatypes=9,10
4. cpasite=8 nsubl=2 cpatypes=11,12
5. cpasite=9 nsubl=6 cpatypes=13,14,15,16,17,18
我把它改成:
pattern=r'(\d+)\. \s* cpasite=(.*)\s* nsubl=(.*)\s* cpatypes=(.*)'
问题是,我需要这些网站(如3,4,5,6)分别,以便我可以使用他们为我的目的但鉴于这个数字不固定,我不能(据我所知)分开。
我怎样才能使用这些网站?
最佳答案
为什么不使用您的regex
,然后将第四个捕获组作为:
'3,4,5,6'
然后,可以在,
上拆分该字符串,以获取可以单独使用的值列表:
s = '3,4,5,6'
s = map(int, s.split(','))
print s
[3,4,5,6]
>>> print s[2]
5
关于python - 正则表达式或其他从具有可变条目的行中获取数据的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23220967/