REGEXVAULTv2.0
Dev & Systems/Git
Verified Safe

Git Abbreviated Commit Hash Regex for PHP

/^[0-9a-fA-F]{4,40}$/

What this pattern does

This page provides a lightweight, single-purpose regular expression for matching git abbreviated commit hash, ported and verified for PHP. A rigorously tested regex reduces debugging time and protects your application from edge-case failures. The snippet below is ready to drop into your PHP project — whether you're validating in a Laravel validator, a WordPress plugin, or a standalone PHP script.

Php Implementation

Php
<?php
// Git Abbreviated Commit Hash
// ReDoS-safe | RegexVault — Dev & Systems > Git

define('GIT_ABBREVIATED_COMMIT_HASH_PATTERN', '/^[0-9a-fA-F]{4,40}$/');

function validate_git_abbreviated_commit_hash(string $input): bool {
    return (bool) preg_match(GIT_ABBREVIATED_COMMIT_HASH_PATTERN, $input);
}

// Example
var_dump(validate_git_abbreviated_commit_hash("a1b2")); // bool(true)

Test Cases

Matches (Valid)
Rejects (Invalid)
a1b2abc
abc1234gggg
a1b2c3d4e5f6a7b8a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b01
da39a3ee5e6b4b0d3255bfef95601890afd80709
1234567-abc

When to use this pattern

This pattern is drawn from the Dev & Systems > Git category and carries a ReDoS-safe certification. That matters for PHP developers because especially relevant in PHP where PCRE backtracking limits can trigger silent failures on malicious input. RegexVault audits patterns against known backtracking attack vectors, ensuring you have the necessary context before using this regex in a high-stakes production environment.

Common Pitfalls

Abbreviated hashes can collide in large repositories like the Linux kernel. The kernel requires at least 12 characters for unique abbreviation.

Technical Notes

GitHub and GitLab display 7-char abbreviated hashes by default. The minimum for guaranteed uniqueness varies by repository size. Always use full hashes in CI/CD artifact tagging.

Have a pattern that belongs in the vault?

Submit it for review — community-verified patterns get credited to your GitHub handle. Free submissions join the queue. Priority review available for $15.

Submit a Pattern