星期三, 3月 04, 2015

使用 re 模組抓出檔名內的數字


    #() 內的值就是會取得的變動值, \d 代表數字, \d+ 表示多個數字
    import re

    patt = re.compile('NO(\d+)TIME(\d+)')
    mobj = patt.match('NO9TIME1')
    print mobj.groups()  # ('9','2')
    print len(mobj.groups())
    print mobj.group(2)  # 1
   
    # mobj.groups() 會列出 mobj 裡的 group 資料
    # len(mobj.groups()) 就可以知道有多少筆了
   
    # 可使用名稱來讀取抓到的資料 ?P
   
    patt = re.compile('NO(?P\d)TIME(?P\d)')
    mobj = patt.match('NO9TIME2')
    print mobj.group('left_num')  # 9
    print mobj.group('time_num') # 2

    # 如果沒有 match , mobj 為 None

沒有留言: