*/
private const COMPLEX_PATTERN_TO_SIMPLE = ['[0-9]' => '\\d', '[a-zA-Z0-9_]' => '\\w', '[A-Za-z0-9_]' => '\\w', '[0-9a-zA-Z_]' => '\\w', '[0-9A-Za-z_]' => '\\w', '[\\r\\n\\t\\f\\v ]' => '\\s'];
public function __construct(RegexPatternDetector $regexPatternDetector)
{
$this->regexPatternDetector = $regexPatternDetector;
}
public function getRuleDefinition() : RuleDefinition
{
return new RuleDefinition('Simplify regex pattern to known ranges', [new CodeSample(<<<'CODE_SAMPLE'
class SomeClass
{
public function run($value)
{
preg_match('#[a-zA-Z0-9+]#', $value);
}
}
CODE_SAMPLE
, <<<'CODE_SAMPLE'
class SomeClass
{
public function run($value)
{
preg_match('#[\w\d+]#', $value);
}
}
CODE_SAMPLE
)]);
}
/**
* @return array