class RegexMerger(object):
    def __init__(self, regexes):
        self.regexes = regexes

    def __call__(self, tokens):
        for tag, entity_type, regex in self.regexes:
            for m in regex.finditer(tokens.string):
                tokens.merge(m.start(), m.end(), tag, m.group(), entity_type)