Final Class Yiisoft\Strings\MemoizedCombinedRegexp
| Inheritance | Yiisoft\Strings\MemoizedCombinedRegexp » Yiisoft\Strings\AbstractCombinedRegexp |
|---|
MemoizedCombinedRegexp is a decorator for {@see AbstractCombinedRegexp} that caches results of
- {@see AbstractCombinedRegexp::matches()}
- {@see AbstractCombinedRegexp::getMatchingPattern()}
- {@see AbstractCombinedRegexp::getMatchingPatternPosition()}.
Public Methods
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| throwFailedMatchException() | Yiisoft\Strings\AbstractCombinedRegexp |
Constants
| Constant | Value | Description | Defined By |
|---|---|---|---|
| QUOTE_REPLACER | '\/' | Yiisoft\Strings\AbstractCombinedRegexp | |
| REGEXP_DELIMITER | '/' | Yiisoft\Strings\AbstractCombinedRegexp |
Method Details
| public mixed __construct ( Yiisoft\Strings\AbstractCombinedRegexp $decorated ) | ||
| $decorated | Yiisoft\Strings\AbstractCombinedRegexp | |
public function __construct(
private readonly AbstractCombinedRegexp $decorated,
) {
}
| public string getCompiledPattern ( ) |
public function getCompiledPattern(): string
{
return $this->decorated->getCompiledPattern();
}
| public string getFlags ( ) |
public function getFlags(): string
{
return $this->decorated->getFlags();
}
| public string getMatchingPattern ( string $string ) | ||
| $string | string | |
public function getMatchingPattern(string $string): string
{
$this->evaluate($string);
return $this->getPatterns()[$this->getMatchingPatternPosition($string)];
}
| public integer getMatchingPatternPosition ( string $string ) | ||
| $string | string | |
public function getMatchingPatternPosition(string $string): int
{
$this->evaluate($string);
return $this->results[$string]['position'] ?? $this->throwFailedMatchException($string);
}
| public array getPatterns ( ) |
public function getPatterns(): array
{
return $this->decorated->getPatterns();
}
| public boolean matches ( string $string ) | ||
| $string | string | |
public function matches(string $string): bool
{
$this->evaluate($string);
return $this->results[$string]['matches'];
}
| protected void throwFailedMatchException ( string $string ) | ||
| $string | string | |
| throws | Exception | |
|---|---|---|
protected function throwFailedMatchException(string $string): void
{
throw new Exception(
sprintf(
'Failed to match pattern "%s" with string "%s".',
$this->getCompiledPattern(),
$string,
)
);
}
Signup or Login in order to comment.