Matches typical Docker image names.
Docker Image helps validate values with a production-oriented regex baseline. Use it for fast client or backend checks, then add semantic validation and engine-specific tests before release. This reduces false positives while keeping implementation predictable across environments.
^(?:(?=[^:\/]{1,253})(?!-)[a-z0-9-]{1,63}(?<!-)(?:\.(?!-)[a-z0-9-]{1,63}(?<!-))*(?::[0-9]{1,5})?/)?((?![._-])(?:[a-z0-9._-]*)(?<![._-])(?:\/(?![._-])[a-z0-9._-]*(?<![._-]))*)(?::(?![.-])[a-zA-Z0-9_.-]{1,128})?$Token-by-token with plain language, one sentence per token group.
| Input | Expected |
|---|---|
| nginx:latest | Pass |
| my-registry.com/my-app:v1 | Pass |
| Fail | |
| sample-value | Fail |
| test@example.com | Fail |
| 1234567890 | Fail |
Reference implementation.
Re-test lookbehind, unicode, and flags.
Prefer raw strings and explicit flags.
Double-escape backslashes in string literals.
Use this when you need a quick format validation or extraction step before business-level checks.
Core behavior is designed for broad compatibility, but always re-test flags and advanced groups in your target engine.
Avoid treating regex as the only safety check. Pair it with parser or domain-specific validation for production flows.