mirror of
https://github.com/rectorphp/rector.git
synced 2025-02-21 09:42:45 +01:00
33 lines
662 B
PHP
33 lines
662 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Rector\NodeNameResolver\Regex;
|
|
|
|
use Nette\Utils\Strings;
|
|
|
|
final class RegexPatternDetector
|
|
{
|
|
/**
|
|
* @var string[]
|
|
*
|
|
* This prevents miss matching like "aMethoda"
|
|
*/
|
|
private const POSSIBLE_DELIMITERS = ['#', '~', '/'];
|
|
|
|
public function isRegexPattern(string $name): bool
|
|
{
|
|
if (Strings::length($name) <= 2) {
|
|
return false;
|
|
}
|
|
|
|
$firstChar = $name[0];
|
|
$lastChar = $name[strlen($name) - 1];
|
|
if ($firstChar !== $lastChar) {
|
|
return false;
|
|
}
|
|
|
|
return in_array($firstChar, self::POSSIBLE_DELIMITERS, true);
|
|
}
|
|
}
|