using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"https?://(www\.|m\.)?(reddit\.com|preview\.redd\.it|i\.redd\.it|redd\.it)/(((?!([\""'<])).)*)";
string input = @"https://reddit.com/r/lorem
https://preview.redd.it/r/ipsum
https://i.redd.it/r/dolor
https://redd.it/r/sit
https://www.reddit.com/r/lorem↵
https://www.preview.redd.it/r/ipsum↵
https://www.i.redd.it/r/dolor↵
https://www.redd.it/r/sit
https://m.reddit.com/r/lorem↵
https://m.preview.redd.it/r/ipsum↵
https://m.i.redd.it/r/dolor↵
https://m.redd.it/r/sit
https://no-reddit.com/r/lorem
";
foreach (Match m in Regex.Matches(input, pattern))
{
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