using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(.*)\w\w_\w\w(?:.*?)(?:(?:[&?]\w+=\d+|%\w*)*?(\?Id=\d+)(?:.*))?";
string input = @"http://www.example.com/myplan/mp/public/pl_be?Id=543543×tamp=06280435435
http://www.example.com/course/df/public/pl_de%27?Id=454354×tamp=0628031746
http://www.example.com/book/rg/public/pl_fo?Id=4445577×tamp=0628031734
http://www.example.com/trip/tr/public/pl_ds&oisefejwf=02389283?anothaone=230023?somethingelse=2093432?Id=454354×tamp=06280314546
http://www.example.com/trip/tr/public/pl_ds
http://www.example.com/trip/tr/public/pl_ds?Id=454354×tamp=06280314546&bid=7667&source=ref
http://www.example.com/trip/tr/public/pl_ds?Id=454354%27";
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