BytePane

Docker Image Reference Regex Pattern

Validates Docker image references with optional registry, tag, and digest. Used in Dockerfiles and compose files.

{}
Data Formats
Intermediate
Difficulty
Universal
Language
none
Flags
// Regular Expression
/^([a-z0-9._-]+\/)?[a-z0-9._-]+(:[a-zA-Z0-9._-]+)?(@sha256:[a-f0-9]{64})?$/

Live Regex Tester

Pattern Breakdown

^([a-z0-9._-]+\/)?[a-z0-9._-]+(:[a-zA-Z0-9._-]+)?(@sha256:[a-f0-9]{64})?$
Character class [ ]
Group ( )
Quantifier { }
Anchor ^ $
Repetition * + ?
Escape \
Alternation |
Any char .

Code Examples

JavaScript

const regex = /^([a-z0-9._-]+\/)?[a-z0-9._-]+(:[a-zA-Z0-9._-]+)?(@sha256:[a-f0-9]{64})?$/;
const test = "nginx:latest";
console.log(regex.test(test)); // true

// Extract matches
const matches = test.match(regex);
console.log(matches);

Python

import re

pattern = r'^([a-z0-9._-]+\/)?[a-z0-9._-]+(:[a-zA-Z0-9._-]+)?(@sha256:[a-f0-9]{64})?$'
test = "nginx:latest"
match = re.search(pattern, test)
print(match)  # Found!

Go

package main

import (
    "fmt"
    "regexp"
)

func main() {
    re := regexp.MustCompile(`^([a-z0-9._-]+\/)?[a-z0-9._-]+(:[a-zA-Z0-9._-]+)?(@sha256:[a-f0-9]{64})?$`)
    fmt.Println(re.MatchString("nginx:latest")) // true
}

Common Use Cases

Dockerfile lintingcontainer orchestrationCI/CD

Match Examples

InputResult
nginx:latestMatch
INVALID IMAGENo Match

About the Docker Image Reference Regex

Validates Docker image references with optional registry, tag, and digest. Used in Dockerfiles and compose files.

Regular expressions (regex) are powerful pattern matching tools used across virtually all programming languages. The docker image reference pattern is classified as intermediate difficulty in the data formats category. It works in all major programming languages.

When using this regex, always consider edge cases and test thoroughly with real-world data. Use the interactive tester above to validate the pattern against your specific inputs before deploying to production.

Need More Regex Patterns?

Browse our complete library of 100+ regex patterns with interactive testers.

Frequently Asked Questions

What is the Docker Image Reference regex pattern?

Validates Docker image references with optional registry, tag, and digest. Used in Dockerfiles and compose files.

How do I use the Docker Image Reference regex?

Use the pattern /^([a-z0-9._-]+\/)?[a-z0-9._-]+(:[a-zA-Z0-9._-]+)?(@sha256:[a-f0-9]{64})?$/ in your code. In JavaScript: new RegExp('^([a-z0-9._-]+\/)?[a-z0-9._-]+(:[a-zA-Z0-9._-]+)?(@sha256:[a-f0-9]{64})?$', ''). Test it above with your own input.

What does this Docker Image Reference regex match?

This pattern matches: "nginx:latest". It does NOT match: "INVALID IMAGE". Dockerfile linting, container orchestration, CI/CD.

Is the Docker Image Reference regex beginner-friendly?

This pattern is rated Intermediate. It uses some advanced features like character classes and quantifiers.

What languages support the Docker Image Reference regex?

This pattern works in all major programming languages including JavaScript, Python, Java, C#, Go, Ruby, PHP, and more. Syntax may vary slightly between regex engines.

Can I modify the Docker Image Reference regex for my use case?

Yes! Use the interactive tester above to modify the pattern and test with your own data. Common modifications include making it case-insensitive (add 'i' flag), matching globally (add 'g' flag), or adjusting character classes.

Related Tools