'Check all the regex patterns against the item\'s field values.'

def check_match_patterns(self, item, data):

    if (len(self.match_patterns) == 0):
        return True
    self.matches = {}
    checked_anything = False
    for (key, match_pattern) in self.match_patterns.iteritems():
        match = None
        parsed_key = self.parse_match_fields_key(key)
        if (isinstance(item, Link) and (not item.is_self)):
            parsed_key['fields'].discard('body')
        elif (isinstance(item, Link) and item.is_self):
            parsed_key['fields'].discard('url')
        for source in parsed_key['fields']:
            string = self.get_field_value_from_item(item, data, source)
            match = match_pattern.search(string)
            checked_anything = True
            if match:
                self.matches[parsed_key['name']] = match
                break
        if (bool(match) != parsed_key['match_success']):
            return False
    if checked_anything:
        return True
    else:
        return False
