1. 程式人生 > >風火程式設計--正則表示式應用

風火程式設計--正則表示式應用

正則表示式的推薦使用方式–預編譯

import re
s = "12hjk"
pattern = re.compile('.{4}')
r = pattern.match(s)
ret1 = r.group()
print(ret1)

時間格式

def make_time(self, ot):
    """
    把時間轉成標準格式字串
    :param time: 解析出來的時間格式: '2019-09-29 上午/中午/下午8點20分'
    :return: '2019-09-29 08:20'
    """
    t0 = re.sub(r"[點分]", "", ot)
    t1 = t0.split("午")[-1]
    if int(t1) < 1200:
        t2 = t0.replace("中", "上")
    else:
        t2 = t0.replace("中", "下")
    t3 = t2.replace("上午", "AM").replace("下午", "PM")
    t4 = datetime.datetime.strptime(t3, "%Y-%m-%d %p%I%M")
    return str(t4)

統一單位

def handle_unit(uo):
    """
    單位轉換
    :param uo: 單位不同的時間資料ms/s/M/H
    :return:同一單位的時間ms
    """
    pattern = re.compile("^(\d*\.?\d*)(.*)$")
    r = pattern.match(uo)
    t, u = float(r.group(1)), r.group(2)
    d = {
        "ms": t,
        "s": t*1000,
        "M": t*60*1000,
        "H": t*60*60*1000
    }
    t_r = d[u]

    print(t_r)