def posix_props(self, prop, in_group=False):
        """
        Insert POSIX properties.

        Posix style properties are not as forgiving
        as Unicode properties.  Case does matter,
        and whitespace and '-' and '_' will not be tolerated.
        """

        try:
            if self.is_bytes or not self.unicode:
                pattern = _uniprops.get_posix_property(
                    prop, (_uniprops.POSIX_BYTES if self.is_bytes else _uniprops.POSIX)
                )
            else:
                pattern = _uniprops.get_posix_property(prop, _uniprops.POSIX_UNICODE)
        except Exception:
            raise ValueError('Invalid POSIX property!')
        if not in_group and not pattern:  # pragma: no cover
            pattern = '^%s' % ('\x00-\xff' if self.is_bytes else _uniprops.UNICODE_RANGE)

        return [pattern]