在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/

10-08 23:51