replacer.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:BMASS 作者: OSU-slatelab 项目源码 文件源码
def prepare(rep, onlyAtEnds=False, multiOccur=True):
        '''Compiles and returns a regex matching the input list of strings to replace
        Note: returns two values wrapped as one; can feed tuple directly into apply
        '''
        if type(rep) == list:
            rep = {key: '' for key in rep}
        rep = dict((re.escape(k), v) for k, v in rep.items())
        if onlyAtEnds:
            if multiOccur:
                expr = str.format("^[{0}]+|[{0}]+$", ''.join(rep.keys()))
            else:
                expr = str.format("{0}|{1}",
                    "|".join(['^%s' % key for key in rep.keys()]),
                    "|".join(['%s$' % key for key in rep.keys()])
                )
        else:
            expr = "|".join(rep.keys())
        pattern = re.compile(expr)
        return (pattern, rep)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号