<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_mac_address(self, mac_address=None, default=False, disable=False):
 """ Sets the virtual-router mac address This method will set the switch virtual-router mac address. If a virtual-router mac address already exists it will be overwritten. Args: mac_address (string):
 The mac address that will be assigned as the virtual-router mac address. This should be in the format, aa:bb:cc:dd:ee:ff. default (bool):
 Sets the virtual-router mac address to the system default (which is to remove the configuration line). disable (bool):
 Negates the virtual-router mac address using the system no configuration command Returns: True if the set operation succeeds otherwise False. """

        base_command = 'ip virtual-router mac-address'
        if not default and not disable:
            if mac_address is not None:
                # Check to see if mac_address matches expected format
                if not re.match(r'(?:[a-f0-9]{2}:){5}[a-f0-9]{2}',
                                mac_address):
                    raise ValueError('mac_address must be formatted like:'
                                     'aa:bb:cc:dd:ee:ff')
            else:
                raise ValueError('mac_address must be a properly formatted '
                                 'address string')
        if default or disable and not mac_address:
            current_mac = self._parse_mac_address()
            if current_mac['mac_address']:
                base_command = base_command + ' ' + current_mac['mac_address']
        commands = self.command_builder(base_command, value=mac_address,
                                        default=default, disable=disable)
        return self.configure(commands)