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:----ALlBOQ17B0tJs1VpZjJHo5M1HJxNycl5MegsvAPPqDZ6g+FmWnLc8ecbi1ss9fOEDotSn5YFZIohRafacWD2Xxj0Pv+pzxaZA57ycg2nOr9ECRGXUX0NohZeWDjQJdiQlnv6DHMmt9mRtrrGrxQ5eA32aProKYgfdW0Q3VPXBbwdbTeFzmFpgvm/S1TrO0jxsO1un5xUW/znslMXdmFn2X5RZo7kXxh/FUSAR50nXZkDAGUSR5myJKfTUsL/wAsrx9I/SzHKg5XH+2Ns5XKTKgZsYkZ9wPCh0mFmutWI9HSmQQUBnvV5nvLFEAmf4nwzUrtQQPhES1rgCZ84ePndzwM9Nd6OdMtiKwMeau/WSjHAkFlXgpo70lxeh7kt9L6yoKvUTm2nWWDlFeCuKqDykMN1jqpBmLGwAh7eoGVSYYYF3XzDNixlkdrFgNSCPjWHovroEmK2s0qUnjLfON94hLx+lyXzdIiBrn6xvfClOXuM8jg+lLuBorrIfHWCnQP1OSnxenM3RQ8ypSGZzBdFWupu4CHziUkJ7K5BvktgiMix+gVvbbB7KS2il7IYeZpk3QTGSk4rnLeGSWfv+6bMUDLejKxnu0n/Cj7FG0VqE6aezKjRxlzotqgk8yT4Kl1aq+vukBSO3qXnP4tNIXL0gSzXAvW2Et5NVkp48dhwQmM=----ATTACHMENT:----NDgxNDk4OTM0MTQwNDcwNSA3NDM4NTc1OTczNzE2NDIwIDM4NzA0NDc0Njc0OTEyODM=