我有"2-20,41"
。当第三个值并不总是存在时,如何在python中解析它。它可能是
案例1 = "2-20"
,案例2 = "2-20,41"
,案例3 = "2-20,41,42"
。
我需要检查我的值x
是否在范围内或等于逗号之后的值。逗号后面可能有一个值,或者两个不同的逗号后面可能有两个不同的值。
答案 0 :(得分:0)
>>> re.search('^(\d+)-(\d+)((,\d+){0,2})$','2-20').groups()
('2', '20', '', None)
>>> re.search('^(\d+)-(\d+)((,\d+){0,2})$','2-20,41').groups()
('2', '20', ',41', ',41')
>>> re.search('^(\d+)-(\d+)((,\d+){0,2})$','2-20,41,42').groups()
('2', '20', ',41,42', ',42')
答案 1 :(得分:-1)
for i in '2-30,40,50,100'.split(','):
parts = i.split('-')
if len(parts) == 2:
if n >= int(parts[0]) and n <= int(parts[1]):
print 'match'
break
elif n == int(parts[0]):
print 'match'
break