我有一个字符串,它有一个版本号。我想从该代码读取版本号,以便我可以将其与其他正在使用的代码进行比较。我有以下代码完成,但无法让它工作,任何人都可以看到问题?如何匹配字符串信息
print results
r = re.compile(r'(version\s*\s*)(\S+)')
for l in results:
m1 = r.match(l)
if m1:
ID=map(int,m1.group(2).split("."))
l = r.sub(r'\g<1>' + '.'.join(['%s' % (v) for v in ID]), l)
print ID
结果变量是:
Name Info Type Call version 1.0.40.437 Fri Oct 2 10:54:35 BST 2009
我有它这样做的方式,我需要分成组的ID号码,因为我需要在ID比较3号到第三在另一个文件中的ID号码。
下面的答案是有用的,但我有它的方式会读取一个文件,并把所有的数字,并把它们放入一个列表,所以我将不得不做的是比较列表的两个数字。对不起,如果问题不清楚,但我不希望版本号是一个字符串。
好吧我对下面回答的代码做了一些修改。代码如下:
version = re.compile('version\s+([\d.]+)\s+')
ID = version.search(results)
if ID:
value = ID.group(1).split('.')[2]
self.assertEqual(BUILD_ID[2], int(value))
这并不创建我想要的列表,但它允许我比较2个值。
感谢您的帮助。
什么类型是“结果”?如果它是一个字符串,你的循环遍历每个字符,而不是每个字。 – 2010-02-03 10:32:10
'\ s * \ s *'相当于'\ s *'。你想在那里做什么? – 2010-02-03 10:33:47