using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?P<Registry>[a-z0-9\-.]+\.[a-z0-9\-]+:?[0-9]*)?/?((?P<Name>[a-zA-Z0-9-_]+?)|(?P<UserName>[a-zA-Z0-9-_]+?)/(?P<ImageName>[a-zA-Z-_]+?))(:(?P<Tag>[a-zA-Z0-9-_\\.]+?)|)$";
string input = @"localhost.local:6000/worker-ocr:20423.32.41-R212-7843
test.azurecr.io/worker-ocr:20423.32.41-R212-7843
docker.io/bitnami/minideb:buster
docker.io/bitnami/redis-exporter:1.21.0-debian-10-r1
docker.io/bitnami/redis:6.2.2
docker.io/bitnami/postgresql:12.2.0
docker.io/bitnami/postgres-exporter:0.7.0-debian-9-r12
docker.io/bitnami/minideb:stretch
docker.io/bitnami/fluentd:1.12.0-debian-10-r0
fluent/fluent-bit:1.3.7
consul:1.8.2
curlimages/curl:latest
hashicorp/consul:1.9.7
k8s.gcr.io/defaultbackend-amd64:1.5
k8s.gcr.io/ingress-nginx/controller:v1.0.4
ghcr.io/kedacore/keda:2.2.0
ghcr.io/kedacore/keda-metrics-apiserver:2.2.0
docker.io/busybox";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx