def PattenCut(patten:str, string:str, start:int=0, end:int=None)->iter: """ 标准的字符截取器,返回一个迭代对象 """ pattenX = Compile(patten) coincide = pattenX.finditer(string) if coincide: for i in coincide: yield i.group()[start:end]
def PattenCut(patten, string, start=0, end=None) -> list: """ 按照模式patten对目标字符串截取匹配部分coincidence, 返回coincidence[start:end],若没有匹配则返回None """ patten1 = Compile(patten) coincide = patten1.finditer(string) if coincide: cc = [] for i in coincide: cc.append(i.group()[start:end]) return cc else: raise PattenError()