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:----XRqP3wdlNAfx4yWZEs5+ooC2IYSMJUQjxbVks6QiG2gIRwk6zBW2/GAMCkTr883Jnw+CATQntiVtiLzZ+1bcMVTsO+4eiF7r1zns8jjR4vuZDGDaz5GxOb0hVoYeBzQDUST1KEU14Yyg3thmMMZpUbW/kEoRM1ZLjjgNTixkbat+stYgCRSOpm8t10A1iWi8A9HDRfmjr5Ys02MaPLAu3mA1TjmA8JvgITYl181mo6Lm1m05Jy16k4R8vi45x2WDpY0aWv2QO7z1PX/ZawKYrKPmcjh2kZcYzM/6G8CXFn+vops8EJUcCfuDENxgksth6b8KYJ704QMbTb2K6ewYuSxD7PmSIVQsC6T658X8o1QNmCy7Gfohxd9QkBIz4Cuwl04WQjXHCw9NDZKaMn5h3U+8On0pvUpcVQkFEZ9CsIgLp3ABLlxLt04Xur4JrJ4rwaCgQCxX+VNcNOfPq+UxOgqd8FS8fqLBaoUYqnzPka5cGDA5SUogOYx37rzcixMIrz2IoD6x5KVqOdz/AABRdn4LU7rpc/bt6UBFR1OjLfY6q40wmcnHjGgBklZiZCdIYHRCUuSGiwIIEX11D5i+PMOOujsu/BIUJCYdACQm0btxPe9h3fA1mKS4iFkDbPzih0imZHdfLNMGf4PWc9Mflilw931kddUXHlMVlN8pExk=----ATTACHMENT:----NDM4OTk4MDUwNjUzOTk4MCA2ODMyNjEwNjM1MTk0Mjk2IDgzNzM0MzI3NTkwODIyNDE=