# Buggy code
async def parse_regex(opsdroid, skills, message):
    """Parse a message against all regex skills."""
    matched_skills = []
    for skill in skills:
        for matcher in skill.matchers:
            if "regex" in matcher:
                opts = matcher["regex"]
                if opts["case_sensitive"]:
                    regex = re.search(opts["expression"], message.text)
                else:
                    regex = re.search(opts["expression"], message.text, re.IGNORECASE)
                if regex:
                    message.regex = regex
                    matched_skills.append(
                        {
                            "score": await calculate_score(
                                opts["expression"], opts["score_factor"]
                            ),
                            "skill": skill,
                            "config": skill.config,
                            "message": message,
                        }
                    )
    return matched_skills


# Traceback (IndexError)
INFO opsdroid.web: Started web server on http://127.0.0.1:8080
DEBUG opsdroid.parsers.crontab: Running crontab skills
DEBUG opsdroid.connector.telegram: {'update_id': 246644579, 'message': {'message_id': 280, 'from': {'id': 111222555, 'is_bot': False, 'first_name': 'IOBreaker', 'language_code': 'en'}, 'chat': {'id': 111222555, 'first_name': 'IOBreaker', 'type': 'private'}, 'date': 1552161920, 'text': 'welcome hicham to paris'}}
DEBUG opsdroid.core: Parsing input: welcome hicham to paris
DEBUG opsdroid.core: Processing parsers...
DEBUG opsdroid-modules.skill.welcome: =========> triggering welcome skill
DEBUG opsdroid.connector.telegram: Responding with: Whoops there has been an error
DEBUG opsdroid.connector.telegram: Successfully responded
DEBUG opsdroid.connector.telegram: Responding with: Check the log for details
DEBUG opsdroid.connector.telegram: Successfully responded
ERROR opsdroid.core: Exception when running skill 'welcome'
Traceback (most recent call last):
File "/Users/hicham/Developments/Bots/opsdroid-iobreaker/opsdroid/opsdroid/core.py", line 336, in run_skill
await skill(self, config, message)
File "/Users/hicham/Library/Application Support/opsdroid/opsdroid-modules/skill/welcome/__init__.py", line 12, in welcome
_LOGGER.debug("=========> group('name') = {}".format(message.regex.group("name")))
IndexError: no such group

# Fixed code
async def parse_regex(opsdroid, skills, message):
    """Parse a message against all regex skills."""
    matched_skills = []
    for skill in skills:
        for matcher in skill.matchers:
            if "regex" in matcher:
                opts = matcher["regex"]
                if opts["case_sensitive"]:
                    regex = re.search(opts["expression"], message.text)
                else:
                    regex = re.search(opts["expression"], message.text, re.IGNORECASE)
                if regex:
                    new_message = copy.copy(message)
                    new_message.regex = regex
                    matched_skills.append(
                        {
                            "score": await calculate_score(
                                opts["expression"], opts["score_factor"]
                            ),
                            "skill": skill,
                            "config": skill.config,
                            "message": new_message,
                        }
                    )
    return matched_skills