private function runMatcher(array $config, $commitMessage, $rule)
{
$regex = new Regex($rule);
if ((bool) $config['case_insensitive']) {
$regex->addPatternModifier('i');
}
if ((bool) $config['multiline']) {
$regex->addPatternModifier('m');
}
$additionalModifiersArray = array_filter(str_split((string) $config['additional_modifiers']));
array_map([$regex, 'addPatternModifier'], $additionalModifiersArray);
if (!preg_match((string) $regex, $commitMessage)) {
throw new RuntimeException(sprintf('The commit message does not match the rule: %s', $rule));
}
}