def _get_pronoun(self, regex_match):
        """
        Get pronoun from the pronoun marker in the text. This is used as
        the callable for the re.sub function.

        Args:
            regex_match (MatchObject): the regular expression match.

        Notes:
            - `{s`, `{S`: Subjective form: he, she, it, He, She, It
            - `{o`, `{O`: Objective form: him, her, it, Him, Her, It
            - `{p`, `{P`: Possessive form: his, her, its, His, Her, Its
            - `{a`, `{A`: Absolute Possessive form: his, hers, its, His, Hers, Its

        """
        typ = regex_match.group()[1] # "s", "O" etc
        gender = self.attributes.get("gender", default="neutral")
        gender = gender if gender in ("male", "female", "neutral") else "neutral"
        pronoun = _GENDER_PRONOUN_MAP[gender][typ.lower()]
        return pronoun.capitalize() if typ.isupper() else pronoun
dataset/ETHPy150Open evennia/evennia/evennia/contrib/gendersub.py/GenderCharacter._get_pronoun/original