check_re.py 文件源码

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

项目:pydiatra 作者: jwilk 项目源码 文件源码
def visit(self, node):
        if not isinstance(node, sre_parse.SubPattern):
            raise TypeError('{0!r} is not a subpattern'.format(node))
        for op, args in node.data:
            if not isinstance(args, (list, tuple)):
                args = (args,)
            op = normalize_token(op)
            method = 'visit_' + op
            visitor = getattr(self, method, None)
            original_flags = self.flags
            try:
                if self.flags is None:
                    self.flags = node.pattern.flags
                    if self.flags & re.IGNORECASE:
                        for flag in locale_flags.values():
                            self.justified_flags |= flag
                if visitor is not None:
                    ts = visitor(*args) or ()
                    for t in ts:
                        yield t
                for t in self.generic_visit(*args):
                    yield t
            finally:
                self.flags = original_flags
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号