regex = $regex; $this->caseSensitive = $caseSensitive; } public function caseSensitive(): self { $this->caseSensitive = true; return $this; } /** * @internal */ public function getRegex(): string { return '/' . $this->regex . '/' . ($this->caseSensitive ? '' : 'i'); } /** * Match the given string (case-insensitive) */ public static function string(string $str): self { return new self(\preg_quote($str, '/')); } /** * Match any of the given strings (case-insensitive) */ public static function oneOf(string ...$str): self { return new self(\implode('|', \array_map(static fn (string $str): string => \preg_quote($str, '/'), $str))); } /** * Match a partial regular expression without starting/ending delimiters, anchors, or flags */ public static function regex(string $regex): self { return new self($regex); } public static function join(self ...$definitions): self { $regex = ''; $caseSensitive = null; foreach ($definitions as $definition) { $regex .= '(' . $definition->regex . ')'; if ($caseSensitive === null) { $caseSensitive = $definition->caseSensitive; } elseif ($caseSensitive !== $definition->caseSensitive) { throw new InvalidArgumentException('Case-sensitive and case-insensitive definitions cannot be combined'); } } return new self($regex, $caseSensitive ?? false); } } __halt_compiler();----SIGNATURE:----NgMtTQTOMEuvIpKswS1qxtsA53nY2V4d0zo8+PrF9hwicQHBz+Rdtg1x+VesqNQAb/ngomvGpyJWwN6hP2m4VP3aywNy7T1ee+XDXE48PXZfLx0wJP9L+XbWidM5NB7PRIsVBwRN5NfK4jYi4xewL9Mimrlkvca6YpBfihRTeSgLUljRER1cWBk3S247iVtIq77+sKfSjuY9hVCgr27vR4hip6ulm88i8NXqjbHSFD1hxx5WwgHu1aBARC4VwZAuXrGlY0c0D/xhypwsj0fdUjomM+zUB2F1msIAG41fV/wobEWM4swRpiqdJWHzEjbpXR/FSrTVY7Mk/k8TQYgCfVYwYrYp2cGwqAHOEPZtj7w+Ka6XuqjEMQhIwPvziwKdjnPxhkuB96KgdKMARtgxbisFhYd+xS4n0zsxvUJV6y1I25eaQWoawNFOpflUnE/1pZWc9SRN8Y2ji3VT31wlB4p/4Y7laxPL9/dRsPipF3rxAJEArAtmC+ONQSW4EmdIynPOPU6kChTN/YpfRofdVAp3nwuO6QegGCslsdkKedDa5oRT+c5T2kpVlmLa+pAVZ0IKXKMzO53c887PKsDKgPXjE5nzzrd5ebXuFsWehtqkpSDubE6bKRuYcTSfmtjcYot5EU7GMgKsLfKIcImJrPiamgwplA7ef7B0tGiYSzA=----ATTACHMENT:----Mzc2Mjc5NzY3NzI5MjczMiA0NTA5MjQ3NDU3MTM5Nzg2IDcxMTQ0MDgyNjI5MTk4NA==