如何在两个特殊字符之间选择数据?蟒蛇

时间:2017-04-22 21:52:46

标签: python regex

我有一个文件abcd.txt,其中包含:

"""    
hello,123 [1231,12312]1231231    
hello, world[3r45t,3242]6542    
123 213 135    
4234 gdfg gfd 32   
sd23 234 sdf 23    
hi, hello[234,23423]561    
hello, hi[123,123]985   
"""

我想打印第二个','字符后面的字符串,直到']'。 我的输出应该是:

12312
3242
23423
123

我试过了:

def select(self):
        file = open('gis.dat')
        list1 = []
        for line in file:
            line = line.strip()
            if re.search('[a-zA-Z]',line):
                list1.append(line.partition(',')[-1].rpartition(']')[0])
        return list1

1 个答案:

答案 0 :(得分:2)

您可以使用:

import re
for line in open("abcd.txt"):
    match = re.findall(r".*?,.*?,(\d+)", line)
    if match:
        print match[0]

输出:

12312
3242
23423
123