.+)(?Data|Info)$#'; public function __construct(Inflector $inflector) { $this->inflector = $inflector; } public function singularize(string $name) : string { $matches = Strings::match($name, self::DATA_INFO_SUFFIX_REGEX); if ($matches === null) { return $this->inflector->singularize($name); } $singularized = $this->inflector->singularize($matches['prefix']); $uninflectable = $matches['suffix']; return $singularized . $uninflectable; } }