using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"((https|http):\/?\/?)?(?<bucket>[a-z\-]*)(\.s3\.)(?<server>[a-z\-\d]*)(\.amazonaws\.com\/)(?<key>[^?\s]*)(\?)?(?<extra>\??.*)";
string input = @"https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/common/img/2iw99y1.jpg
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/advisor/anand%40pulse360.com/img/signature.png
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/common/img/company_logo.jpg
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/common/Entrega%202%20-%20Punto%206%20.png
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/common/img/tb.jpg
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/advisor/santiago.persico%40teracloud.io/img/signature.png
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/common/Lyrics.jpg
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/common/face2.jpg
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/common/arriba%20small%20compressed.jpg
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/common/vepPagado.pdf
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/common/img/Flyster---300px.jpg
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/common/img/Skull.png?asd=asd
https://practice-assets-test-wealthbox-dev.s3.us-west-2.amazonaws.com/common/img/2iw99y1.jpg";
RegexOptions options = RegexOptions.IgnoreCase;
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